Mailinglisten-Archive |
> -----Original Message----- > From: php-admin_(at)_phpcenter.de [mailto:php-admin_(at)_phpcenter.de]On Behalf Of > Arash Yalpani > Sent: Wednesday, March 21, 2001 1:24 PM > To: 'php_(at)_phpcenter.de' > Subject: [php] AW: [php] AW: [php] Re: [php] OT?: Designrätsel > > > > Wie und wo speicherst Du das Array? Wieviele Eintraege wuerde dies > > aushalten? Und wenn ich das richtig sehe, benoetigst Du zum > > Holen von Teilbaeumen trotzdem fuer jeden Knoten eine SQL-Anweisung, > > oder? > > mal ne ganz blöde Frage: gibt es irgendeine Bibliothek oder so um mit > einer SQL-ähnlichen Syntax mit assoziativen Arrays zu arbeiten? Ich > denke an so etwas wie: > ... > Das würde die Möglichkeit bieten, eben nicht an jedem Knoten eine > DB-Query absetzen zu müssen. Stattdessen liest man EINmal am Anfang > die Daten aus der DB in das Array ein und könnte dann mittels der > von mir gesuchten Bibliothek den Baum rekursiv und OHNE weitere > DB-Zugriffe zusammenbasteln. > > Weiss irgendwer von solch einer Möglichkeit - wenn nein: klingt das > sinnvoll? Ist das machbar? Ich habe die Klasse, die dieses Verfahren realisiert, etwa vor einem Jahr geschrieben. Aus dieser Erfahrung aus wuerde ich behaupten - es ist nicht sinnvoll. Der Grund ist ganz einfach - man muss ALLE Seiten mit einer Query auslesen, und mit rekursiven Funktionen bearbeiten, bis ein Array mit passender Strukture erstellt wird. Hat man 500 Seiten, dauert's halt dementsprechend, obwohl meinetwegen nur 10 Menu-Points angezeigt werden sollen. Schlecht. Die ideale Vorgehensweise - nur das auslesen, was tatsaechlich angezeigt wird. Und mit einem Query, maximal zwei. Deswegen ist IMHO http://www.koehntopp.de/kris/artikel/sql-self-references/ schon der richtige Einsatz ( evtl. ein paar zusaetzliche Fields fuer eigene Zwecke). Hat auch einige Nachteile gegenueber Vater<->Sohn Verfahren. Aber, diese Nachteile sind nur im Bereich Nodes move und insert zu sehen. Wie oft passieren diese Ereignisse im Vergleich mit dem Auslesen von Tree ? Ich wuerde an dieser Stelle versuchen eine Mischung zwieschen "Nested Modell" und "Vater-Sohn" zu realisiern. Gruss, Juri
php::bar PHP Wiki - Listenarchive