Lynx Posted August 24, 2005 Report Share Posted August 24, 2005 Forumam ir nepieciešams upgreids un sāku strādāt pie Announcement(1), Sticky(2), Locked(3) un normal(4) sistēmas izveides. Ir enum lauks type kurā mēs tad norādam lauka tipu. Cik saprotu ir 2as iespējas. Mēs ar vienu pieprasījumu izvelkam visus datus, sagrupējam 1 ar 2 kopā un sortojam pēc tipa, lai augša būtu Announcements. Un tad sagrupējam 3 ar 4 un tie vienkārši šķirojas pēc last post date. 2ais būtu taisīt 2us atsevišķus pieprasījumus. vienu priekš 1 un 2 otru priekš 3 un 4, cik papētiju kodu šādi to dara phpbb. Tad jautājums kurš ir labāks 1ais vai otrais variants skatoties no izpildes ātruma un db noslodzes. 2o es uztaisītu bez problēmām, bet kā veikt 1ajā pieminēto grupēšanu nav ne jausmas. Jaņem vērā fakts, ka topiku izvadē vēl tiek taisīts left joins, lai pievienotu info vai šis konkrētais topiks ir izlasīts vai nav. Link to comment Share on other sites More sharing options...
bubu Posted August 24, 2005 Report Share Posted August 24, 2005 Nu tajā vienā kverijā taisi ORDER BY tips, datums. Tad tie ieraksti sakārtosies vispirms pēc tipa, un katrā tipā pēc datumiem. Ejot cauri masīvam salīdzināsi, vai iepriekšējā ieraksta tips sakrīt ar tekošā, un ja nē, tad sāksi jaunu to sadaļu. Link to comment Share on other sites More sharing options...
v3rb0 Posted August 24, 2005 Report Share Posted August 24, 2005 taa gluzi nederees - 3 un 4 tipa ierakstus vinjam vajag kopaa vienaa grupaa un sorteet peec datuma. vai nu unioni, vai nu selectaa ievies maaksligu tipa lauku ( if(...) as kautkas) , kursh ir 1 pirmajam tipam, 2 otrajam tipam un 3 paarejiem tipiem, tad sortee peec `maaksliigaa tipa` lauka, bet iisti labs nav ne viens ne otrs variants laikam. Link to comment Share on other sites More sharing options...
Lynx Posted August 24, 2005 Author Report Share Posted August 24, 2005 Jā šāds variants darbojas. Tikai locked nāk pirms parastajiem, kautgan viņiem būtu jajaucas. Bet pēc idejas šādi pat ir labāk, vienkārši locked tiks uztaisīts atsevišķs lauks enum('0','1') un tad arii sticky un announcementus varees nolockot. Sākumā bija ideja apvienot zem viena. Paldies. Link to comment Share on other sites More sharing options...
Kaklz Posted August 24, 2005 Report Share Posted August 24, 2005 Es būtu ieviesis 2 laukus. 1 announcement/sticky 2 locked/open Attiecīgi nolasām no tabulas visus kam ir announcement/sticky uzstādīts un pēc tam kaut vai ar UNION pielasām klāt pārējos ierakstus, sakārtotus pēc datuma, kurus atkarībā no locked/open stāvokļa attiecīgi arī atzīmējam.. ;) Link to comment Share on other sites More sharing options...
Delfins Posted August 24, 2005 Report Share Posted August 24, 2005 Ja ņem Kaklz variantu, tad derēs arī 3-ais lauks. 1. StickyStatus = 1/0 2. StickyType = [sticky,anounce,news,...whatever...] 3. Status = O/L/D (open/locked/[deleted]) Link to comment Share on other sites More sharing options...
Recommended Posts