Avatar billede michaeltryl Seniormester
11. oktober 2007 - 11:29 Der er 5 kommentarer og
1 løsning

dropdown menu med php og mysql

Jeg har før haft en dropdown menu som jeg lavede sådan

<a href="punkt1.php?menu=1punkt">1punkt</a>
if($menu =="1punkt")
{
alle links som skal vises under 1punkt
}
<a href="2punkt.php?menu=2punkt">2punkt</a>
if($menu =="2punkt")
{
alle links som skal vises under 2punkt
}

Er der en måde hvorpå jeg kan lave noget ligende, hvis jeg gemmer menuen i en mysql tabel.
f.eks kan jeg hente hovede punkterne (punkt 1 og punkt 2) ud sådan,
$menu = mysql_query("SELECT * FROM menu WHERE punkt='hovede'") or die(mysql_error());
while ( $menupunkt = mysql_fetch_array($menu))
{
$navn = $menupunkt[navn];
$link = $menupunkt[link];

echo"<a class='menu' href='$side/$link'>$navn</a>";
}

men mit problem er hvordan jeg hæfter underpunkterne på, uden at vise dem før $menu=hovedepunktet. underpunkter gemmes i tabellen med punkt="under"
Avatar billede majbom Novice
11. oktober 2007 - 11:45 #1
du kan jo lave en tabel sådan her:

id
name
parent

dine hoved-punkter har ikke noget stånde i feltet parent, underpunkter der hører til under punkt1, har punkt1 stående i feltet parent osv...
Avatar billede michaeltryl Seniormester
11. oktober 2007 - 12:09 #2
min løsning bliver så sådan
$hmenu = mysql_query("SELECT * FROM menu WHERE parent='0'") or die(mysql_error());
while ( $menupunkt = mysql_fetch_array($hmenu))
{
$navn = $menupunkt[titel];
$link = $menupunkt[link];
echo"<a class='menu' href='$link?menu=$navn'>$navn</a>";

if($menu == $navn)
{
$umenu = mysql_query("SELECT * FROM menu WHERE parent='$navn'") or die(mysql_error());
while ($umenupunkt = mysql_fetch_array($umenu))
{
$unavn = $umenupunkt[titel];
$ulink = $umenupunkt[link];
echo"<a class='undermenu' href='$ulink'>$unavn</a>";
}
}
else
{
}
}

eller er der evt. en bedre måde at gøre det på
Avatar billede michaeltryl Seniormester
15. oktober 2007 - 18:51 #3
Tak for hjælpen du hjalp mig på vej, så smid et svar hvis du vil have point :-)
Avatar billede majbom Novice
15. oktober 2007 - 19:24 #4
havde ikke set dit svar 11/10 - det er bestemt en måde at gøre det på :)

virker det efter hensigten?
Avatar billede michaeltryl Seniormester
15. oktober 2007 - 19:31 #5
det virker perfekt så det kan ikke være bedre
Avatar billede majbom Novice
15. oktober 2007 - 19:43 #6
det er jo fantastisk :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester