echo $begrüßung;
Also es sollen immer die ersten "Unterpunkte" des Roots als Kategorieen angezeigt werden. Des weiteren soll an der Stelle, an der man sich gerade befindet, der Baum ausgeklappt werden und es sollen jeweils alle Unterpunkte dieses Kategorei angezeigt werden.
Rekursive Abfragen an die DB sind nicht günstig, weil dabei jedesmal eine Anfrage hin- und ein Ergebnis zurückgesendet wird. So ein Prozess ist verhältnismäßig aufwendig, selbst wenn du mit einem Prepared Statement das SQL-Parsen auf ein Minimum reduzieren kannst. Das müsstest du aber tun, wenn du nicht alles auf einmal abfragen und die Verwandschaftsbeziehungen im abfragenden Programmteil auswerten willst.
Angenommen, du hast dich entschieden, das Menü komplett abzufragen.
| ID | PARENT_ID | ORDER_ID | TITLE |
| 1 | 0 | 1 | startseite |
| 2 | 0 | 2 | ausgeklappt |
| 3 | 2 | 1 | unterseite |
| 4 | 2 | 2 | AKTUELLE SEITE! |
Du müsstest nun zunächst ermitteln, dass "AKTUELLE SEITE!" Parent_ID 2 hat. Danach suchst du alle Elemente mit Parent_ID=2 zusammen, und sortierst sie nach Order_ID. Damit hast du die ausgeklappte Liste. Nun suchst du dir das Element das die Parent_ID als ID hat und ermittelst dessen Parent_ID. Das machst du solange bis Parent_ID 0 ist. Damit hast du den Pfad.
echo "$verabschiedung $name";