BartTheDevil89
Devilution Media
- 2 Mai 2006
- 3.960
- 103
Hallo,
ich möchte ein Menü mit Baumstruktur erstellen. Also ich meine sowas hier:
Auto
- Sub1
- Sub2
-- Untersub1
-- Untersub2
- Sub3
Meine
- Sub4
- Sub5
...
Also ein Menü mit Unterpunkten, die sich beliebig weit nach unte ziehen.
Ich hab jetzt folgende Datenbankstruktur erstellt:
id/name/top
id also die Id, name ist der Titel und top hat die id des darüberliegenden drin.
Jetzt muss ich ja das Menü irgendwie ausgeben. Allerdings hab ich dabei jetzt paar Probleme. Denn:
Ich weiß, dass ich es über eine Funktion machen muss. Also ich rufe die erste Ebene auf also die Einträge in dem top = 0 ist. Jetzt muss ich überprüfen, ob es Einträge mit top = $idDesEintragesInDerErstenEbene gibt. Wenn ja, soll er weiter nach unten vorgehen, wenn nein einfach die Funktion weiter durchlaufen.
Aber wie läuft das...wie schaffe ich es, dass er eben weiter nach unten dann geht? Ich hab jetzt schon meine Funktion mal soweit gemacht bis zu dem Schritt, wo das Problem auftritt:
Kann mir jemand helfen?
Danke
ich möchte ein Menü mit Baumstruktur erstellen. Also ich meine sowas hier:
Auto
- Sub1
- Sub2
-- Untersub1
-- Untersub2
- Sub3
Meine
- Sub4
- Sub5
...
Also ein Menü mit Unterpunkten, die sich beliebig weit nach unte ziehen.
Ich hab jetzt folgende Datenbankstruktur erstellt:
id/name/top
id also die Id, name ist der Titel und top hat die id des darüberliegenden drin.
Jetzt muss ich ja das Menü irgendwie ausgeben. Allerdings hab ich dabei jetzt paar Probleme. Denn:
Ich weiß, dass ich es über eine Funktion machen muss. Also ich rufe die erste Ebene auf also die Einträge in dem top = 0 ist. Jetzt muss ich überprüfen, ob es Einträge mit top = $idDesEintragesInDerErstenEbene gibt. Wenn ja, soll er weiter nach unten vorgehen, wenn nein einfach die Funktion weiter durchlaufen.
Aber wie läuft das...wie schaffe ich es, dass er eben weiter nach unten dann geht? Ich hab jetzt schon meine Funktion mal soweit gemacht bis zu dem Schritt, wo das Problem auftritt:
PHP:
function makemenu() {
$result = mysql_query("SELECT * FROM menu_eintrag where top = 0");
while ($line = mysql_fetch_array($result)) {
$menureturn .= "$line[id]<br>";
$menuid = $line['id'];
$numresult = mysql_query("SELECT * FROM menu_eintrag where top = '$menuid'");
$rows = mysql_num_rows($numresult);
if($rows != 0){
//ab hier dann weiter in die Tiefe gehen
}
}
mysql_free_result($result);
return $menureturn;
}
Kann mir jemand helfen?
Danke