Nested Sets Problem beim Select

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Nested Sets Problem beim Select

    Hallo,

    ich hab in letzter Zeit einiges mit Nested Sets rumexperimentiert und bin soweit gekommen das ich Problemlos eintragen, ändern und löschen kann! Auch das Auslesen des gesamten Baumes funktioniert einwandfrei!

    Nun habe ich aber folgendes Problem:

    Ich habe eine Tabelle in der Form „ID, NAME, LINKS, RECHTS“

    Ich ermittle über die ID die LINKS und RECHTS und kann so alle unterknoten auslesen! Soweit kein Problem! Aber ich will eben gar nicht alle unterknoten sondern nur die in der nächsten ebene! Z.B.
    HAUPTNKOTEN
    --UNTERKNOTEN 1
    ----UNTERKNOTEN4
    ----UNTERKONTEN5
    --UNTERKNOTEN 2
    --UNTERKNOTEN 3

    Also möchte ich eigentlich die UNTERKNOTEN 1-3 auslesen und nicht mehr oder weniger! Das mache ich so:
    PHP-Code:
    SELECT a.ida.name
    FROM kategories 
    AS a
    WHERE a
    .links BETWEEN $ausgeleseneslinks+1  AND $ausgelesenesrechts-1  AND a.rechts BETWEEN $ausgeleseneslinks +1  AND $ausgelesenesrechts -
    GROUP  BY a
    .id
    ORDER  BY a
    .links ASC 
    $ausgeleseneslinks/rechts enthalten dabei die LINKS und RECHTS werte des HAUPTKNOTEN!

    Soweit ist das auch kein Problem! Nur ich habe über die ID noch CONTENT mit den KNOTEN verknüpft! Nun möchte ich noch zählen wie viel CONTENT sich in den UNTERKNOTEN samt allen deren UNTERKNOTEN befindet!

    Beispiel:
    HAUPTKNOTEN
    ---UNTERKNOTEN1 (5xCONTENT)
    -----UNTERKNOTEN4 (50xCONTENT)
    -----UNTERKNOTEN5 (5xCONTENT)
    ---UNTERKNOTEN2 (5xCONTENT)
    ---UNTERKNOTEN3 (5xCONTENT)

    Mein Script soll dann beim HAUPTKNOTEN 70xCONTENT, beim UNTERKONTEN1 60xCONTENT und bei den UNTERKNOTEN 4/5 jeweils 5xCONTENT anzeigen!


    Hat jemand Tipps oder so parat? Ich weiß nicht mehr weiter! Alles was ich ausprobiert habe endet in MYSQL-Fehlermeldungen!

    Ich bin etwa soweit gekommen
    PHP-Code:
    SELECT a.idCOUNT(*)  - AS anzahla.name
    FROM kategories 
    AS a
    LEFT  JOIN content 
    AS b ON a.id b.id
    WHERE a
    .links
    BETWEEN $ausgeleseneslinks  
    AND $ausgelesenesrechts  AND a.rechts
    BETWEEN $ausgeleseneslinks  
    AND $ausgelesenesrechts 
    GROUP  BY a
    .id
    ORDER  BY a
    .links ASC 
    Gruß
    Sascha
    Zuletzt geändert von mrhappiness; 01.10.2003, 09:35.
Lädt...
X