[Scratch]
Legacy Member
Hoi allemaal, kheb een klein recursive menutje in mekaar gestoken wat een menustructuur opbouwt adhv 1 tabel in een mysql database. Elk record in de tabel heeft een ander record in dezelfde tabel als parent. Nu speek ik bij elke loop van die functie de database aan, ik hoef dus niet te zeggen dat dit niet echt optimaal is indien je menu groot wordt. Iemand een idee hoe ik dit op een andere manier met maar 1 query kan doen?
PHP:
function buildMenu($parent = 0, $level = 0) {
global $db;
$query = "SELECT * FROM categories WHERE parent_id = $parent";
if ($menuItems = $db->get_results($query)) {
foreach ($menuItems as $item) {
echo "<div class=\"level" . $level . "\">";
echo $item->name_nl."</div>\n";
buildMenu($item->id,$level+1);
}
} else {
return;
}
}


