Das 'Nested Sets' Modell auslesen

HSFighter

Grünschnabel
Hallo Leute,

Ich habe eine Nested Sets Tabelle in der Form „ID, payload, lft, rgt“

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:
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

Das gilt aber für die den ganzen Baum


Beispiel Baum:

PHP:
(A)
 |
 +-(B)
 |  |                                        
 |  +-(C)
 |  |
 |  +-(D)
 |     |
 |     +-(E) 
 |     |
 |     +-(F)
 |
 +-(G)

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
 
Zurück