Mailinglisten-Archive |
> > ich habe eine Datenbankstruktur, die so aussieht: > > id | parent | titel > > und eine menüstruktur abbildet, also wenn parent = 1 ist der aktuelle punkt > ein Untermenü von menüpunkt 1. > > Das auslesen und normale Darstellen wäre eigentlich kein problem, da ich die > rekursion dafür schon kenn, das problem ist aber, dass ich es in eine > Array-Struktur speichern möchte die wie die Struktur von ULFs Menu3-Klasse > ist, also ca. so: > > $menu = array( > 1 => array( > url = > "/", > title => "home" > sub => array( > 11 =>array( > "url" => "/seite2", > "title" => "seite2" > ) > ) > ) > ) Ok, schreiben wir dein array mal um: $menu = array( 1 => array( "url" => "/", "titel" => "home" "sub" => array( 11 => array( "url" => "/seite2", "title" => "seite2" ) ) ) ) (nur so als Übersicht) jetzt machen wir da mal kurz eine andere Struktur draus: $menu[1][url] = "/"; $menu[1][titel] = "home"; $menu[1][sub][11][url] = "/seite2"; $menu[1][sub][11][title] = "seite2"; jetzt fummeln wir das in eine schleife, die theroretisch die datenbank ausliste // select * from tabelle where parent = '1' while(datenbank) { // $id, $parent, $titel, $url seien jetzt mal irgendwie ausgelesen (ich glaube du hast oben die url in der tabelle // vergessen - $db ist das array was die datenbank informationen enthällt (zeilenseite), wie gewohnt. $menu[$db[id]][url] = $db[url]; $menu[$db[id]][titel] = $db[titel]; // select * from tabelle where parent = $db[id] while(datenbank2) { $menu[$db[id]][sub][$db2[id]][url] = $db2[url]; $menu[$db[id]][sub][$db2[id]][url] = $db2[titel]; } } jetzt hast du alle parents mit den dazugehörigen childs in einem array. Ich hoffe das hat geholfen. Grüß dich Marcel ! -boris
php::bar PHP Wiki - Listenarchive