Hallo Leute,
Ich habe das hier schon mal in diesem forum unter Tutorial-Hilfe gepostet.
Da konnte mir keiner weiter helfen.
Also versuche ich es mal hier, da es was mit MySQL zu tun hat.
Ich habe eine Nested Sets Tabelle in der Form „ID, payload, lft, rgt“
Wie in dem Tutorial "Das 'Nested Sets' Modell" auf "http://www.php-resource.de"
Den "Namen", "Level-Tiefe", und "Anzahl Unterknoten (children)"
kann ich schon auslesen!
Das ist der Code um einen Ganzen Baum als Tabelle mit
"Namen", "Level-Tiefe", und "Anzahl Unterknoten" aus zu lesen:
Das gilt aber für die den ganzen Baum!!!!
Beispiel Baum:
Wenn ich z.B. die "ID" von (D) anwähle, dann soll er mir nur
dir Ordner darunter, also (E) und (F), und den direkten Weg zurück zu
(A) anzeigen.
Das sind dann (D), (B) und (A).
Man kann sich das Ergebnis nachher auch so vorstellen
wie ein Klickmenü auf einigen Homepages:
(A)---->(B)---->(D)
Anz.: [ (E) (F) ]
Kann mir da Jemand weiter helfen wie ich das so auslese?
MfG HSFighter
Ich habe das hier schon mal in diesem forum unter Tutorial-Hilfe gepostet.
Da konnte mir keiner weiter helfen.
Also versuche ich es mal hier, da es was mit MySQL zu tun hat.
Ich habe eine Nested Sets Tabelle in der Form „ID, payload, lft, rgt“
Wie in dem Tutorial "Das 'Nested Sets' Modell" auf "http://www.php-resource.de"
Den "Namen", "Level-Tiefe", und "Anzahl Unterknoten (children)"
kann ich schon auslesen!
Das ist der Code um einen Ganzen Baum als Tabelle mit
"Namen", "Level-Tiefe", und "Anzahl Unterknoten" aus zu lesen:
PHP-Code:
SELECT node1.payload,
IF ( node1.node_id = node1.root_id,
round( (node1.rgt - 2) / 2, 0),
round( ( (node1.rgt - node1.lft - 1) / 2), 0)
) AS children,
COUNT(*) AS level
FROM node AS node1,
node AS node2
WHERE node1.root_id = 1
AND node2.root_id = 1
AND node1.lft BETWEEN node2.lft AND node2.rgt
GROUP BY node1.LFT
Beispiel Baum:
PHP-Code:
(A)
|
+-(B)
| |
| +-(C)
| |
| +-(D)
| |
| +-(E)
| |
| +-(F)
|
+-(G)
dir Ordner darunter, also (E) und (F), und den direkten Weg zurück zu
(A) anzeigen.
Das sind dann (D), (B) und (A).
Man kann sich das Ergebnis nachher auch so vorstellen
wie ein Klickmenü auf einigen Homepages:
(A)---->(B)---->(D)
Anz.: [ (E) (F) ]
Kann mir da Jemand weiter helfen wie ich das so auslese?
MfG HSFighter
Kommentar