dedlfix: aus gegebener Tabelle Menüstrutkur - Select

Beitrag lesen

echo $begrüßung;

Das leifert mir ja den kompletten Baum, jetzt möchte ich aber ja eine Menüstruktur aufbauen, also brauche ich die oberste Ebene immer und dann die Ebenen bis zum aktuellen Element und eine ebene nach dem aktuellen Element.

Wenn du stets sämtliche Elemente brauchst, um das Menü darzustellen, brauchst du nicht unbedingt Nested Sets. Nested Sets spielen dann ihre Vorteile aus, wenn man Teile der Baumstruktur in einzelnen Abfragen haben möchte. Solch eine Abfrage liefert die Daten aber auch nicht verschachtelt sondern "flach" zurück. In deiner Anwendung eine verschachtelte Struktur daraus aufzubauen bleibt dir nicht erspart, wenn du sowas benötigst.

Ich gebe dir mal als Anregung für eine mögliche Alternative das Stichwort Serialized LOB-Pattern.

Also theoretisch müssen die lft und rgt Werte entweder zwischen denen des aktuellen Elements liegen oder eben in der ersten Ebene liegen, aber damit fehlt mir ja u.U. auch der Baum bis zum aktuellen Element.

Alle Nachkommen abzufragen ist sicher nicht das Problem. Nur alle eigenen Kinder haben zu wollen, ist ohne Ebenenangabe problematisch. Theoretisch wäre die Regel, dass das erste Kind lft = parent.lft+1 hat und die anderen lft = voriges_geschwister.right+1. Das bedeutete, dass man sich auf vorhergehende Datensätze beziehen können muss. Geht das mit vertretbarem Aufwand? Ich glaube nicht. Dann doch lieber die Ebene mitpflegen.

Der Weg zur Wurzel sind alle Knoten, deren lft kleiner und deren rgt größer als das jeweils eigene ist.

echo "$verabschiedung $name";