Baumstruktur rekrusiv

Grafixboy

Erfahrenes Mitglied
Hallo liebe Freunde :),

ich versuche folgendes zu lösen:
Ich habe eine Artikeldatenbank mit mehr als 10.000 Einträgen.
Zur auflösung sind eigendlich nur die ersten beiden Spalten wichtig
nennen wir sie mal SpalteA und SpalteB.

Wenn in SpalteB ein bestimmter Wert(X) enthalten ist handelt es sich um eine Produktkategorie.
Code:
SpalteA    SpalteB
     4              X
   31             4
   75             4
   87             4
   13            31
   34            31
   27            31
 987           X
   46          987
   86          987
489             27
usw.


4=>31
4=>31=>13
4=>31=>34
4=>31=>27
4=>31=>27=>489
4=>75
4=>87
987=>46
987=>86
usw.

ich muss das ganze also rekrusiv durchlaufen
so das ich mir daraus dann selectboxen bauen kann.
Brauchte bis jetzt immer nur 2 Ebenen hier werden es aber bis zu 5 und viell. auch mehr.

Nur wie hat einer einen Ansatz für mich?
 
Eine Möglichkeit wäre 5 Selectboxen zu erstellen und alle bis auf die erste zu verstecken.

In die erste schreibst du die Kategorien die in der SpalteB das x haben

Auf diese Selectbox setzt du ein onChange-Event.
Wenn eine Kategorie ausgewählt wird, wird ein Ajax-Request abgesetzt und die Kategorien für die 2. Selectbox geholt.
Diese wird dann befüllt und angezeigt.

Dieses Spiel wiederholst du solange bis die Werte aus SpalteA nicht mehr in SpalteB auftauchen.
 
Ja so habe ich es mir auch ansatzweise vorgestellt. Oder es werden alle Optionen in alle geladen und durch auswählen eines wir mehr und mehr nach untenhin eingegrenzt so das immer weniger Optionen zur Auswahl stehen.

Aber so ein Lösungsansatz auf Ajax Basis wäre schon fein. Mal sehen wie ich da eine logische Ordnung reinbekomme.
 
Das Stichwort dazu ist für die Clientseite „chained select“. Was du auf Datenbankseite hast, wird häufig „adjacency list“ genannt.

Jedenfalls: Mit einer Suche nach „javascript chained select with php database“ dürftest du Ansätze finden.
 
OK danke werde mich gleich mal darüber machen das zu recherchieren und mich zu informieren.

Und wie heißt das verfahren wenn er alle Eckdaten schon vorher holt und mann dann daraus immer den aktuellen Preis kalkulieren kann? Also das ich alle Selectboxen (glaube 5) schon sehe und dann daraus mein produkt zusammen stelle und bei jeder änderung mir also nur den Preis neu berechne?
 
Zuletzt bearbeitet:
Ich glaube, das hat keinen verbreiteten, speziellen Namen.

Chained select ist aber auch nicht wahnsinnig spezifisch, sondern mehr ein Oberbegriff mit dem man dazu was finden kann.

Ob einzelne select-Elemente schon vorher existieren oder dynamisch eingeblendet werden und woher und wie sie ihre Daten beziehen, ist eine Frage der konkreten Implementation. Wenn du die Suchtreffer dazu durchklickst, wird bestimmt auch ein Beispiel dabei sein, das ziemlich genau so vorgeht, wie du es beschreibst.
 
Zuletzt bearbeitet:
Hast du rein zufällig ein paar quellen welche vielleicht ein demo enthalten.
Hatte jetzt nocht nicht so viel Zeit zum suchen und das was ich fand war alles auf dem Prinzip
mit den ausgeblendeten Selectboxen.

Ich hänge hier gerade an so einer Procedure die funktionieren sollte aber es nicht tut.
Vielleicht sollte ich da nochmal im MySQL-Bereich ein Thema eröffnen.
 

Neue Beiträge

Zurück