phpbar.de logo

Mailinglisten-Archive

Baum-Struktur (was Re: momentane insert-id auch in eine andere spalte)

Baum-Struktur (was Re: momentane insert-id auch in eine andere spalte)

Michael Bergbauer mysql-de_(at)_lists.bttr.org
Wed, 14 Aug 2002 15:31:10 +0200 (CEST)


On 14-Aug-2002 Stefan Brueckmann wrote:
> Hallo Michael Bergbauer!
> 
> Am Mittwoch, 14. August 2002 13:46 schrieb Michael Bergbauer:
>> On 14-Aug-2002 Michael Wallner wrote:
>> > Eigentlich will ich mit der zweiten id-Spalte einen Rückbezug auf
>> > vorhergehende Datensätze nehmen, und jene Zeilen, die keinen
>> > Rückbezug mitgegeben bekommen, sollen sich sozusagen auf sich
>> > selbst beziehen...
>>
>> Du willst also sowas wie ne Baumstruktur aufmachen? Verwende NULL
>> fuer die ParentID von Root-Datensatzen

Wenn man nen Aufbau so wie skizziert macht, also mit NodeID, ParentNodeID, dann
empfiehlt es sich, als ParentID des/der RootNodes NULL zu verwenden. Eigentlich
ist NULL der einzig sinnvolle Wert (NULL steht bekanntlich fuer "Keine
Information verfuegbar, es kann keine Aussage getroffen werden, und genau das
triff fuer die Eigenschaft ParentNodeID des RootNodes zu). Wenn man ein RDBMS
hat, das Tree-Selects kann (z.B. Oracle), dann funktioniert es auch nur so.
 
> Ich würde die Baumstruktur durch die Wahl der ID definieren.
> also zb.:
> 010
> 020
> 030
> 040
> etc.
> Dann hat man genügend Platz um in die Zwischenräume Links einzufügen. 

Das bezweifliche aufgrund meiner bisherigen Erfahrung mit _(at)_KUNDEN. _(at)_KUNDEN
wollen immer mehr als man vorherplant.

BTW, was meinst du mit "in die Zwischenraeume Links einfuegen"?

> Bei den weiteren Ebenen ist das dan entsprechend.
> Der zweite Dreierblock hinter dem Bindestrich ist für die zeite Ebene 
> gedacht.

Was machst du bei beliebig vielen Ebenen? Wie gesagt, _(at)_KUNDEN wollen immer mehr
als man eingeplant hat. 
 
> Zum Klassischen Baum gibt es im PHP Magazin 2.02 einen guten Artikel.
> Will man die Ausgabe wie bei einem Kaskadenmenue muß man die Abfrage 
> anders gestalten. 

Nicht jeder setzt MySQL mit PHP bzw. fuer Webzwecke ein


Michael

-- 
michael Bergbauer <michael_(at)_noname.franken.de>
Use your idle CPU cycles.
See http://www.distributed.net and win $ 1 000.
Visit our mud Geas at geas.franken.de Port 3333

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive