Teilweiser Tree?

Teilweiser Tree?

am 13.12.2005 12:33:54 von Rauch Christian

Hallo NG,

momentan hänge ich irgendwie bei einem Problem.

Ich habe eine Tabelle mit folgender Struktur:

kategorie_id|kategorie_name|kategorie_parent

Gegeben ist eine ID, die über $_GET['kategorie'] übergeben wird.

Mein Problem jetzt: Wie schaffe ich es, diesen einen Zweig aus MySQL
auszulesen und in diesem einen Zweig die Unterpunkte anzeigen zu lassen?

Also wenn der Inhalt ausschaut wie folgt:

1|Start|NULL
2|Test1|1
3|Test2|1
4|Test3|2
5|Test4|3,

und die ID 4 ist,dann sollte der Tree wie folgt aussehen:

Start
Test1
Test3
Test2

Test4 soll nicht angezeigt werden!

Kann mich hier jemand in die richtige Richtung stoßen oder einen Link zu
diesem Thema posten?

Danke,
Rauch Christian

Re: Teilweiser Tree?

am 13.12.2005 13:59:48 von Stefan Rybacki

Rauch Christian wrote:
> Hallo NG,
>...
> 1|Start|NULL
> 2|Test1|1
> 3|Test2|1
> 4|Test3|2
> 5|Test4|3,
>
> und die ID 4 ist,dann sollte der Tree wie folgt aussehen:
>
> Start
> Test1
> Test3
> Test2

Eigentlich gehört Test2 auch nicht zu dem Zweig, denn sonst könnte Test4 auch
dazu gehören.

>
> Test4 soll nicht angezeigt werden!
>
> Kann mich hier jemand in die richtige Richtung stoßen oder einen Link zu
> diesem Thema posten?

Mehrere Abfragen an die Datenbank, bis parent=null. Oder vielleicht ein anderes
Datenmodell z.B. Nested Sets.

Bis denn dann
Stefan

>
> Danke,
> Rauch Christian

Re: Teilweiser Tree?

am 13.12.2005 15:04:36 von Hendrik Pilz

Stefan Rybacki wrote:
> Rauch Christian wrote:
>> Kann mich hier jemand in die richtige Richtung stoßen oder einen Link zu
>> diesem Thema posten?
>
>
> Mehrere Abfragen an die Datenbank, bis parent=null. Oder vielleicht ein
> anderes Datenmodell z.B. Nested Sets.
>
Eine gute Quelle für Nested Sets, wie ich finde:
http://www.develnet.org/36.html

Bedenke jedoch beim Einsatz von Nested Sets, dass du deine Kategorien
nicht sortieren kannst, sondern die Sortierung schon bei der Eingabe
vornehmen musst.

Gruß, Hendrik

Re: Teilweiser Tree?

am 13.12.2005 18:19:15 von do.not.REMOVETHAT

Stefan Rybacki schrieb:

> Mehrere Abfragen an die Datenbank, bis parent=null.

Stichwort: Rekursion

> Oder vielleicht ein
> anderes Datenmodell z.B. Nested Sets.

Bevor man das komplette Datenmodell umschmeisst wird man es vielleicht
erst mal "nur" mit anderen Links probieren:

http://.../Start/Test1/Test4 ist viel sprechender. Benutzer und Google
freuen sich über schönes URL-Design. Bei dem Design kannst Du
"Start/Test1/Test4" bei "/" exploden und Dir einen join bauen, der genau
die Daten aus der DB holt, die Du brauchst. Mit einem Unique auf
kategorie_parent und kategorie_name bekommst Du auch keine Probleme....

Grüße, Matthias

--
http://www.trullala.de

"Dieses E-Mail ist nur für die Mitteilung.
Damit haben Sie keine Antwort zu machen."
(Zitat aus einer dieser neumodischen Phisching-Mails)