Mailinglisten-Archive |
ich habe schon eine Funktion in der Klasse implementiert,welche mir in einem Array alle Parents einer Node liefert und zwar in genau einer DB-Abfrage. Ich möchte allerdings auch mehrere Strukturen auf- und zu klappen können ? Ich mein im Initialzustand lad'ich mir alle Childs vom root. Alle Nodes die Childs besitzen haben in der Datenbank ein entsprechendes Flag gesetzt und bekommen ein +-Zeichen. Klick ich nun auf so ein +-Zeichen öffnet sich der Tree und ich mach'wieder ein GetChild. Nun sollen aber die anderen Childs von der vorherigen Anfrage noch da sein. Und da würd'ich ja bei offenem Baum wieder unzählige Datenbankabfragen fahren? Vielleicht in eine Datei zwischenspeichern? Die Klasse besitzt folgende Funktionen: insert_below ( $name , &$data )fügt unter der Node $name eine Node mit den entsprechenden Daten aus dem Array $data ein (zwei DB-Abfragen) delete ( $name ) löscht eine Node und alle ihre Childs (zwei DB-Abfragen) get_parents($name) liefert alle Eltern der Node $name in einem Array (eine DB-Abfrage) init(&$data) initialisiert die Struktur (leere Tabelle, erster root-Eintrag ($data)) (eine DB-Abfrage) childs($name,&$data) liefert alle Childs der Node $name und liefert nur die Spalten zurück welche im Array $data eingetragen sind (zwei DB-Abfragen) Gruß, Thomas > Hallo Thomas, > > es ist das, was ich auch Manuel geschrieben hat, wenn ich das Nested Set > Tree richtig verstanden habe. > Du willst doch einfach nur eine Baumstruktur, wie bei Windows aus einer > Datenbank, oder??? > > Prinzipiell musst du nicht die ganze Struktur einlesen, sondern immer nur > die, die du gerade offen hast, das ist schon richtig. > Ich gehe mal davon aus, daß du parameter übergibst. Nun verfolgst du, vom > "aktiven" Child, welches davon die parents sind und von denen wiederum. > so kannst du die baumstruktur nach oben verfolgen. Am besten du schreibst > diese parents in eine Variable, damit du später darauf zurückgreifen > kannst. > > Gruss > > Daniel > > --------------------------------------------------------------- > Beasts Associated > Inh.: Daniel Teixeira > > Veringstrasse 23 21107 HAMBURG > Phone: 040 - 41 92 16 11 Mobile: 0171 - 170 10 47 > Fax: 040 - 41 92 16 12 > > eMail: daniel.teixeira_(at)_beastsassociated.de > Internet: www.beastsassociated.de > --------------------------------------------------------------- > > -- > ** http://www.php-center.de ** > Die PHP-Liste: mailto: php_(at)_phpcenter.de > http://lists.phpcenter.de/mailman/listinfo/php > -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net -- GMX Tipp: Machen Sie Ihr Hobby zu Geld bei unserem Partner 1&1! http://profiseller.de/info/index.php3?ac=OM.PS.PS003K00596T0409a
php::bar PHP Wiki - Listenarchive