Dynamische Kategorieauflistung in Onlineshop Folgend meine DB Struktur:
id fortlaufende Nummerierung
cat Ganz einfach der Name der Kategorie / Subkategorie
subcat Bei "Toplevel" Kategorien ist dies 0, ansonsten die id der parent-kat.
level Die Reihenfolge, im Administrationspanel änderbar. (1, es soll ganz oben stehn, 2, eins drunter usw)
Für unser Adminpanel möchte ich nun alle Kategorien auflisten können, um sie von dort aus zu editieren (löschen, Reihenfolge (in DB eben leve) ändern zu können.....).
Nehmen wir folgende Einträge in der DB an:
1 kat1 0 2
2 kat2 0 1
3 subkat_eins 1 1
4 subkat_zwei 2 1
5 subkat_drei 1 2
Stark vereinfacht natürlich, aber das Prinzip reicht.
Die Auflistung stelle ich mir nun folgendermassen vor: (beachtet, dass ich die Einträge absichtlich ein wenig vermischt habe, d.h Kat1 hat "level" 2, das heisst sie kommt NACH kat 2... Ihr wisst was ich meine.
Kat 2
-- subkat_zwei
Kat 1
-- subkat_eins
-- subkat_drei
Wie aber kriege ich das nun hin. Die ganze Liste wird etwa 20 Einträge enthalten, also würden mehrere Queries (jeweils für die parent_kats und von dort aus jeweils für die subkats) im bereich des möglichen sein, das ist aber weder sexy noch sehr produktiv, weshalb ich lieber alles in einem go auslesen möchte, und dann das Array sortieren.
Null Ahnung von Arraysortierung habend frage ich mich, wie krieg' ich das am effizintesten hin, damit ich am Schluss schön ein sortiertes (nach obigem Schema) Array habe, welches ich schön mit Smarty in unser Adminpanel schmeissen kann?
Danke für eure Hilfe
__________________ Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner. |