Mailinglisten-Archive |
hi, > > Preorder Walk ein spezielles Verfahren? > > Bei der Ausgabe von Bäumen unterscheidet man drei Verfahren: > > - Pre-Order (Wurzel, Links, Rechts) > - In-Order (Links, Wurzel, Rechts) > - Post-Order (Links, Rechts, Wurzel) also ich habe jetzt eine forum tabelle gemäß der anleitung von http://www.koehntopp.de/kris/artikel/sql-self-references/ angelegt. hier der dump (etwas vereinfacht): CREATE TABLE forum ( id int(10) unsigned DEFAULT '0' NOT NULL auto_increment, topic varchar(100) NOT NULL, text text NOT NULL, nick varchar(50) NOT NULL, l smallint(6) DEFAULT '0' NOT NULL, r smallint(6) DEFAULT '0' NOT NULL, PRIMARY KEY (id), UNIQUE id (id) ); es funktioniert auch alles perfekt, nur kriege ich es nicht gebacken, dass ich mit einem select query einen thread auswählen kann, den er dann durchläuft und gleichzeitig das level (also die tiefe) anzeigt. ich hab folgenden query: SELECT b.topic,count(*) AS level FROM forum AS a, forum AS b WHERE b.l BETWEEN a.l AND a.r AND b.r BETWEEN a.l AND a.r GROUP BY b.id; dieser zeigt das level und alles an was ich will der _ganzen_ tabelle an, nur wenn ich zb "WHERE ... AND a.id=2" angebe um den 2. subthread anzuzeigen, kommt logischer weise bei level überall 1, mit having hab ich auch etwas rumprobiert, bin allerdings auch auf keine lösung gekommen. hat jemand eine lösung parat? gute nacht, mfg andreas teichrib [: www.beezle.de :] [: beezle.darktech.org :] [: root_(at)_beezle.de :] [: icq_25474508 :]
php::bar PHP Wiki - Listenarchive