Das 'Nested Sets' Modell

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Das 'Nested Sets' Modell

    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:

    PHP-Code:
    SELECT node1.payload,
             IF ( 
    node1.node_id node1.root_id,
                  
    round( (node1.rgt 2) / 20),
                  
    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-Code:
    (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

  • #2
    *CROSSPOSTINGS* werden nicht geduldet!

    *CLOSE*

    http://www.php-resource.de/forum/sho...threadid=31623


    und da es eine frage zu einem tut ist, gehört es auch dorthin, wo du bereits gepostet hast.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar

    Lädt...
    X