phpbar.de logo

Mailinglisten-Archive

AW: [php] Nested Set Tree grafisch darstellen

AW: [php] Nested Set Tree grafisch darstellen

Thomas Schröter php_(at)_phpcenter.de
Sun, 9 Sep 2001 08:42:13 +0200 (MEST)


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