02. september 2003 - 12:11
Der er
10 kommentarer og 1 løsning
opbygning af menu
Jeg skal lige bruge lidt hjælp her. Jeg vil opbygge min menu udfra data fra en database. Menuen skifter alt efter hvilken katagori der er valgt. Menuen kan have et eller flere hovedpunkter. Menu skal have denne opbygning: <h3>Hovedpunkt1</h3> <div class="item"> <ul class="nav"> <li>underpunkt1</li> <li>underpunkt2</li> <li>underpunkt3</li> </ul> </div> <h3>Hovedpunkt2</h3> <div class="item"> <ul class="nav"> <li>underpunkt1</li> <li>underpunkt2</li> </ul> </div> Her er hvad jeg har indtil videre, men det skal nok laves meget om: $result = mysql_query("SELECT * FROM menu WHERE katagori='$_GET[katagori]'"); $total = mysql_num_rows($result); if ($result && $total > 0){ $menu = "<ul class=\"nav\">"; while($row = mysql_fetch_array($result)){ $menu .= "<h3>" . $row['overskrift'] . "</h3>"; $menu .= "<div class=\"item\">"; $menu .= "<li><a href=\"" . $row['link'] . "\">" . $row['tekst'] . "</a></li>"; $menu .= "</div>"; } $menu .= "</ul>"; } Min database struktur ser i øjeblikket sådan her ud: id katagori overskrift tekst link , hvilket sikkert kan laves meget smartere... Håber at I forstår hvad jeg vil og at I kan hjælpe mig.
Annonceindlæg fra Cognizant
AI er ikke problemet. Eksekvering er.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
02. september 2003 - 12:13
#1
Det ser da allerede godt ud... kan du da ikke fortælle os HVAD du vil få ændret? kun at det skal gøres smartere?
02. september 2003 - 12:19
#2
Ja, selvfølgelig :-) I øjebliket får jeg denne struktur: <h3>Hovedpunkt1</h3> <div class="item"> <ul class="nav"> <li>underpunkt1</li> </ul> </div> <h3>Hovedpunkt1</h3> <div class="item"> <ul class="nav"> <li>underpunkt2</li> </ul> </div> <h3>Hovedpunkt1</h3> <div class="item"> <ul class="nav"> <li>underpunkt3</li> </ul> </div> <h3>Hovedpunkt2</h3> <div class="item"> <ul class="nav"> <li>underpunkt1</li> </ul> </div> <h3>Hovedpunkt2</h3> <div class="item"> <ul class="nav"> <li>underpunkt2</li> </ul> </div>
02. september 2003 - 12:28
#3
vil gerne lige se din tabel struktur så tror jeg vi kan bikse noget sammen :)
02. september 2003 - 12:39
#4
strukturen for tabellen menu ser sådan her ud: id katagori overskrift tekst link 1 nyheder menupunkt1 underpunkt1 link1.html 2 nyheder menupunkt1 underpunkt2 link2.html 3 nyheder menupunkt1 underpunkt3 link3.html 4 nyheder menupunkt2 underpunkt1 link4.html 5 nyheder menupunkt2 underpunkt2 link5.html
02. september 2003 - 12:45
#5
skal lige siges dette er utestet men leg lidt med det og kom tilbage hvis der er problemer: $totalhovedepunkter = mysql_fetch_array(mysql_query("SELECT COUNT(overskrift) AS numover FROM tabel")); $menu = "<ul class=\"nav\">"; for($i=0;$i<=$totalhovedepunkter[numover];$i++) { $res = mysql_query("SELECT * FROM tabel WHERE overskrift="menupunkt".$i"); $over = mysql_fetch_array($res); $menu .= "<h3>" . $over['overskrift'] . "</h3>"; $menu .= "<div class=\"item\">"; while($row = mysql_fetch_array($res)) { $menu .= "<li><a href=\"" . $row['link'] . "\">" . $row['tekst'] . "</a></li>"; } $menu .= "</div>"; } $menu .= "</ul>";
02. september 2003 - 12:49
#6
har så allerede selv opdaget jeg sidder og sover den første linie skal være $totalhovedepunkter = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM tabel GROUP BY overskrift"));
02. september 2003 - 13:08
#7
jeg tror du har misforstået min tabel struktur, du kan ikke regne med at overskrift/tekst altid hedder det samme efterfulgt af et nummer. Det vil nærmere se sådan her ud: id katagori overskrift tekst link 1 nyheder seneste nyheder bla bla.html 2 nyheder seneste nyheder et eller andet etellerandet.html 3 nyheder seneste nyheder noget hej.html 4 nyheder nyheds arkiv foo og bar foo.html 5 nyheder nyheds arkiv foobar bar.html
02. september 2003 - 13:09
#8
...hvis det ikke er tilfældet, så forstår jeg ikke linien her: $res = mysql_query("SELECT * FROM menu WHERE overskrift='menupunkt'.$i");
02. september 2003 - 13:48
#9
Så tror jeg sq den er der: $menupunkter = mysql_query("SELECT overskrift FROM menu GROUP BY overskrift"); while($row = mysql_fetch_array($menupunkter)) { $res = mysql_query("SELECT * FROM menu WHERE overskrift='$row[overskrift]'"); $menu .= "<h3>" . $row['overskrift'] . "</h3>"; $menu .= "<div class=\"line\"></div>"; $menu .= "<div class=\"item\">"; $menu .= "<ul class=\"nav\">"; while($row = mysql_fetch_array($res)) { $menu .= "<li><a href=\"" . $row['link'] . "\">" . $row['tekst'] . "</a></li>"; } $menu .= "</ul>"; $menu .= "</div>"; } Hvis der er nogen der har en bedre løsning, siger i bare til :-)
02. september 2003 - 13:54
#10
Hvis der er nogen der har styr på .htaccess RewriteRule må I meget gerne ta' et kig på det her spørgsmål:
http://www.eksperten.dk/spm/395671
13. juni 2004 - 23:23
#11
lukker
Vi tilbyder markedets bedste kurser inden for webudvikling