Generer array til menu
Hej eksperter.Jeg forsøger at lave en slags træmenu. Selve måden den sætter det op på og viser resultatet virker fint. Se eventuelt koden nedenfor:
<?PHP
function indent($num) {
for($i=0;$i<$num;$i++) {
echo " ";
}
}
function printmenu($arr, $indent = 0) {
foreach($arr as $key => $cap) {
if(is_array($cap)) {
indent($indent);
echo $key."<br>";
printmenu($cap, ($indent+1));
} else {
indent($indent);
echo $cap."<br>";
}
}
}
$menu = array("Hovedmenu1"=>array("Undermenu1","Undermenu2"=>array("Undermenu3","Undermenu4"),"Foobar"),"jada");
echo printmenu($menu);
?>
problemet er at jeg gerne skulle have menuen lavet dynamisk, så den henter menuelementerne fra en tabel i min sql database.
Men hvordan jeg får det sat op som variablen $menu fatter jeg ikke helt.
Min databasestruktur ser sådan ud:
to tabeller:
- menu
- content
menu indeholder id, name
content indeholder id, name, ref, content
menu er de elementer der skal ligge yderst i træmenuen. Og under hvert punkt fra menuen skal den så kigge efter om der findes nogle rækker fra content hvor ref er lig med idet fra menu.
Finder den en match skal den så kontrolere om der er ref til det id.
Altså en rekursiv løkke eller hvad det hedder.
Men aner ikke hvordan jeg skal lave det.