06. oktober 2003 - 16:00Der er
9 kommentarer og 1 løsning
Menu med sektioner
Hej! Jeg har en menu med 3 lags menu: ------------ +rod af menu +sektion +sektion -side -side -side -side ------------ Menuen er dynamisk og ser nogenlunde sådan her ud: <? while ($raekke = mysql_fetch_array($resultat)){ echo "$raekke[navn]"; while ($raekke1 = mysql_fetch_array($resultat1)){ echo "$raekke1[navn]"; while ($raekke1 = mysql_fetch_array($resultat2)){ echo "$raekke2[navn]"; echo "-Sider til denne sektion (2)"; } echo "-Sider til denne sektion (1)"; } echo "-Sider til denne sektion(0)"; } ?> Det er selvfølgelig meget mere kompleks, men sådan fungerer den teoretisk.
Det jeg ikke kan finde ud af (!!) er hvordan jeg laver en while / funktion som gør det muligt at lave "uendeligt" antal sektioner, undersektioner, under-undersektioner...osv...
Jeg forestiller mig en funktion der tjekker om der findes en under-sektion og så bliver den ved til der ikke er flere... lige nu har jeg 3 while løkker, som bestemmer at det bliver en menu med 3 "lag". Men tanken var at én while med en funktion kunne gøre det hele??
Synes godt om
Slettet bruger
06. oktober 2003 - 16:06#2
Du skal lave et rekursivt metodekald. Lav en metode der chekker om sektionen har en undersektionen: hvis den ikke har tilføjer du bare sektionen i menustrukturen, hvis den har, kalder du metoden (inde fra metoden) med den nye række som parameter...
<? function sektion ($sektion_id){ $resultat = mysql_query("SELECT * FROM sektioner WHERE relation = '$sektion_id'") or die (mysql_error()); while ($raekke = mysql_fetch_array($resultat)){ echo "$mappe_grafik <a onClick=\"DocClickHandler('$raekke[navn]');\" style='cursor: hand' class='sektion'>$raekke[navn]</a><br>"; $resultat1 = mysql_query("SELECT * FROM sektioner WHERE relation = '$raekke[id]'") or die (mysql_error()); if (mysql_num_rows($resultat1) >= 1){ sektion($raekke1[relation]); } $resultat2 = mysql_query("SELECT * FROM indhold WHERE sektion = '$raekke[id]'") or die (mysql_error()); while ($raekke2 = mysql_fetch_array($resultat2)){ echo "$side_grafik <a href='indhold.php?vis=$raekke2[id]'>$raekke2[navn]</a><br>"; } } } ?> <? sektion (0); ?>
Dette er en forsimplet udgave af hvad jeg har lige nu..OG det går naturligvis galt...nogen der kan hjælpe? Der opstår et uendeligt loop ved første under-sektion.
De sektioner med relation = 0 er dem der ligger helt ude i roden.
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.