Kategorien und Unterkategorien
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
ebene hauptkategorien
ebene unterkategorien
eintragen
gerade kategorien
haupt
hauptkategorie
http
kategorie
knoten
logik
managen
momentane herangehensweise
schritt
set
spalte
tabelle
unterkategorie
url
wert unterkategorien
-
Hallo
ich versuche gerade Kategorien und Unterkategorien zu managen
mit 2 Ebenen bekomme ich es hin, aber ab der dritten Ebene versage ich kläglich
ich speichere die Kategorien in einer MySQL Tabelle
Jede Kategorie hat eine eigene ID (auto increment)
Hauptkategorien haben in der Spalte ['topkat'] den Wert 0
Unterkategorien haben in der Spalte ['topkat'] den Wert der übergeordneten Kategorie
Wie bekomme jetzt eine mehrdimensionales Array,
das jede Unterkategorie in eine Ebene unter die übergeordnete Kategorie legt
(ohne in der Schleife für jede Kategorie wieder eine MySQL Anfrage zu starten)
Wie muss die Abfrage aussehen (bzw. PHP Logik mit Daten-Array aus Tabelle)
damit ich für Kategorien in mehrern Ebenen (als hierarchisches Array) bekomme ?
Danke!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich denke mal du wirst bemerkt haben,
dass es auf deine momentane Herangehensweise sehr schwer wird
es überhaubt und dazu noch performant hinzubekommen.
Erkundige dich dazu mal über "Nested Sets".
http://www.klempert.de/nested_sets/
Hier, ich nehm dir mal das Googeln ab. ;D -
Hallo
man kann sich "Nested Sets" auch einfacher machen
wenn man vorher weiss, vielele Unter-Ebenen es geben soll
einfach die "Bereiche" bzw. "knoten" vorher festlegen
dann muss man nicht jedesmal die Knoten updaten
wenn neue Elemente dazu kommen
BSP: mit 3 Ebenen
1. Ebene (Hauptkategorien) ... jeweils ganze 1000er Schritte
2. Ebene (Unterkategorien jeweils ganze 100er Schritte
3. Ebene (Unter-Unter-Kats) jeweils innerhalb der 100er
oder man benutzt eine fertige Klasse / Funktion für Nestet Sets
EDIT: sowas hier: phpclasses Celko
kenne jetzt grad keine, aber vielleicht kann ja jemand eine empfehlen
(oder machen) wo man einfach Kategorien einfügen kann
Funktionsaufruf mit $inknoten = wo die Kategorie "rein" soll
makeNewkat ($inknoten, $neuekat);
z.B.
makeNewkat ('Root', 'Hauptkategorie3'); // neue Haupt-Kategorie eintragen
makeNewkat ('Hauptkategorie3', 'Unterkategorie7'); // neue Kategorie in Haupt-Kat3 eintragen
makeNewkat ('Unterkategorie7', 'Unterunterkategorie2'); // neue Kategorie in Unterkategorie7 eintragen
nur so als Idee :)
Beitrag zuletzt geändert: 4.11.2011 15:09:52 von kataloge -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage