22. november 2003 - 21:39Der er
12 kommentarer og 1 løsning
Vise parent side til en underside
Hej,
Jeg har en tabel der ser sådan her ud:
id parent navn indhold 1 0 side1 <p>indholdstekst for side 1</p> 2 0 side2 <p>indholdstekst for side 2</p> 3 0 side3 <p>indholdstekst for side 3</p> 4 0 side4 <p>indholdstekst for side 4</p> 5 0 side5 <p>indholdstekst for side 5</p> 16 3 underside 1 <p>indholdstekst for underside 1</p>
Som det kan ses er det 5 "hovedsider" og en enkelt underside som er "barn" til "hovedside" 3.
Jeg vil gerne lave et udtræk der viser alle sider med på følgende måde:
Sidenavn Type Side 1 Hovedside Side 2 Hovedside Side 3 Hovedside Underside 1 Underside til Side 3 Side 4 Hovedside Side 5 Hovedside
Håber idéen er forståelig.. Hvordan skal det gøres??
ups... - troede jeg var i MySQL kategorien... - det kan være du kan forstå det alligevel og hvis ikke er det bare ærgeligt :-) (Teknikken vil nok være det samme langt hen af vejen)
set rs_parent = conn.execute("Select * from tabelnavn where parent = 0 order by navn")
do while not rs_parent.eof response.write rs_parent("navn")
set rs_sub = conn.execute("select * from tabelnavn where parent = " & rs_parent("id")) if not rs_sub.eof then do while not rs_sub.eof response.write " - " & rs_sub("navn") rs_sub.movenext loop
ja, du skal lave 2 queries r er et computed felt som bruges til at sortere efter i q1 og q2 ganger jeg hhv parent og id med 10 det tal skal du nok ændre til 100 eller 1000 da det er antallet af sider det kan håndtere, ellers skal du lave det som jeg skrev herover med loops.
Vil det ikke være hurtigere at lave ét udtræk og derefter arbejde med dataene i et array - det kan da ikke være hurtigere at lave 1+n (n=antal poster med parent!=0) udtræk fra db'en!?
tipsen >> Jeg tror ikke forskellen er målbar. Det hurtigste er nok at lave det med views som i mit uploadede eks.
Om man laver selects af undersider i loopet eller lopper og søger i et array tror jeg giver samme speed.
//akj
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.