phpbar.de logo

Mailinglisten-Archive

[php] Nested Sets

[php] Nested Sets

Jörn Grube jg at team-spandau.de
Fre Nov 9 13:54:35 CET 2007


Das hab ich, steht ja auch so in dem genannten Artikel. Damit weiß ich 
aber nur, ob die Zeile, die gerade dran ist, ein Ast, ein Zweig oder gar 
nur ein Blatt ist. Damit weiß ich dann aber noch nicht, wie ich in der 
Ausgabe rauskriege, wo ich das jeweilige < ul > bzw. < /ul > schreiben 
muss. Denn speziell letzteres darf ja erst kommen, wenn alle Blätter 
durch sind, dann alle Zweige durch sind. Das Problem liegt also nicht in 
der DB-Abfrage, sondern wie ich das Ergebnis per PHP ausgebe. Und das 
auch noch mit korrektem HTML-Code. Aber ich denk, ich hab da eine Idee, 
mal sehen, ob das klappt :)

Grüße aus Berlin Jörn

Michael Dunkel schrieb:
> Hi, ich denke das hier ist das was du brauchst, das level gibt dir in 
> dem fall dann die tiefe an, sprich deine einrückungen
> 
> SELECT     n.*,
>                         round((n.rgt-n.lft-1)/2,0) AS offspring,
>                         count( * ) -1 + ( n.lft >1 ) AS    level
>                 FROM     kategorie n,
>                        kategorie p
>                 WHERE n.lft    BETWEEN p.lft AND p.rgt
>                 AND (
>                         p.id != n.id
>                         OR n.lft =1
>                     )
>                 GROUP BY n.id
>                 ORDER BY n.lft
> 
> Gruß
> Micha
> 
> 
> Jörn Grube schrieb:
>> Es ließ sich nicht länger vermeiden, also hab ich mich mit Nested Sets 
>> beschäftigt. Nach der Lektüre dieses Artikels:
>> http://www.klempert.de/nested_sets/artikel/
>> hab ich das auch soweit kapiert (ist sooo schwer ja auch nicht).
>> Wobei ich nun aber doch ein Problem kriege, ist die Frage, wie ich das 
>> Ergebnis des Ganzen, also z.B. den kompletten Navigationsbaum in diese 
>> Form kriege:
>> Säugetiere
>>      Primaten
>>          Halbaffen
>>          Affen
>>      Nagetiere
>> Alles in eine einzelne Liste (oder Tabelle, aber wer will die schon 
>> noch) ist ja nicht schwer, nur muss ich ja in den Listen-Punkten wieder 
>> verschachtelte Listen erstellen und da fehlt mir im Moment ein wenig der 
>> Ansatz. Vielleicht kann mir mal jemand ein paar passende Stichwörter 
>> hinschmeißen, über die ich dann nachdenken kann :)
>>
>> Grüße aus Berlin Jörn
>>   
> 
> 


php::bar PHP Wiki   -   Listenarchive