nested sets pfad angeben
tintin
- php
0 dedlfix
Hallo,
ich habe eine nested sets Struktur in meiner DB und möchte diese als Tabelle ausgeben, wobei einzelne Äste auf- und zugeklappt werden können. Dafür habe ich ein sehr schönes js gefunden. Ich brauche dafür für jedes <tr> eine ID, die dem Pfad in der Baumstruktur entspricht. z.B ID=1 für den Root Knoten, ID=1-1 für den ersten Unterknoten ID=1-2 für den zweiten bis z.B. ID= 1-3-2-1-6
Wie kann ich solche IDs vergeben, wenn ich die Baumstruktur in einem array habe?
Viele Grüße und vielen Dank!
Hi!
ich habe eine nested sets Struktur in meiner DB und möchte diese als Tabelle ausgeben, [...] Ich brauche dafür für jedes <tr> eine ID, die dem Pfad in der Baumstruktur entspricht. [...]
Wie kann ich solche IDs vergeben, wenn ich die Baumstruktur in einem array habe?
Du hast bereits die flachen Datensätze aus dem DBMS in ein verschachteltes Array einsortiert? Oder bezieht sich "Baumstruktur" in der Frage nur auf das was es darstellen soll, aber die einzelnen Blätter liegen alle hintereinander in einem Array? Im ersten Fall musst du je bereits irgendwie rekursiv das Array angelegt haben, dann kannst du dabei auch gleich die Positions-ID aus der jeweils zu übergebenden ID des Elternelements und der Positionsnummer vergeben. Wenn du ein flaches Array hast, dann würde ich einen Stack anlegen, der die Präfixe und die Information zum R-Wert zwischenlagert. Wenn ein Element ein R hat, das größer ist als L+1, mit anderen Worten Kinder hat, dann bekommt der Stack die aktuelle ID und den R-Wert. Den brauchst du dann, wenn der Nachfolger von einem Element ein L größer seines R+1 hat, also zu einem anderen Zweig gehört.
Da ich jetzt nicht weiß, wie deine Daten vorliegen, will ich nicht zu sehr ins Details überlegen, wie bei Variante zwei zu verfahren ist.
Lo!