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...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.