![]() Mailinglisten-Archive |
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