mijn site heeft een menu met submenu's

nu laat ik dit zo weergeven:
[tag]
<div class="menu_items"><a href="index.php?page=pagina">pagina</a></div>
<?
if ($_GET['page'] == "pagina"
|| $_GET['page'] == "sub pagina"
|| $_GET['page'] == "sub pagina2"
|| $_GET['page'] == "sub pagina3" ) {
echo '<div class="sub_menu_items"><a href="index.php?page=subpagina">subpagina</a></div>';
// meer sub pagina's
}else {
}
?>
[/tag]
dit werk gewoon maar mijn vraag is kan dit niet sneller en makelijker met mysql. Het is mij al wel geulkt om het menu zonder submenus te latern weergeven:
[tag]
<?
$sql = 'SELECT naam FROM menu'
$res = mysql_query($sql)or die(mysql_error())
while $row = mysql_fetch_array($res)
{
echo '<div class="menu_items"><a href="index.php?page='. $row['naam'] .'">'. $row['naam'] .'</a></div>';
?>

[/tag]

zoiets ongeveer maar hoe kan ikdat hij alleen de submenus laat zien van een hoof menu en niet allemaal tegelijk?
dan moet je de submenu`s en de kinderen van het hoofdmenu item een id meegeven en vervolgens een vergelijking maken.

de logica is vrij simpel.. je moet controleren wat het hoofdmenu item is en deze vergelijken met de subpagina`s. Wanneer hoofditem gelijk is aan 1 = laat dan deze subpagina`s zien..

maar nogmaals, ik weet niet hoe je het zou uitwerken.. ik doe dit aleen in xslt..
dus een tabel maken met:

id
naam
menu ( 1 = hoofdmenu en 2 = submenu
menu_id

maar dan snap ik niet hoe ik hem moet oproepen
uhm nee dan zou je 2 tabellen moeten maken.. hoofditems en subitems

de hoofditem

id
naam
link

en subitem

id (auto increment)
id (van hoofditem)
naam
link

en zo kun je vergelijkingen maken waar id van hoofditem bijvoorbeeld 5 is, laadt dan alle subitems waar id (van hoofditem) gelijk is aan 5..

tenminste. dit zou voor mij een logische stap zijn.. maar goed, nogmaals ik heb er niet de ballen verstand van (A)
hmm heeft dan heeft het weining zin dnek ik kan ik net zo goed mijn huidige code gebruiken maar toch bedankt !

Reageren