Sitemap selber basteln
Matthias Bode
- php
0 ChrisB
Hallo zusammen,
ich stehe gerade voll auf dem Schlauch und hoffe, ihr könnt mir helfen.
Folgendes:
ich habe verschiedene Gruppen, die ich in einer Sitemap darstellen will.
Es gibt Hauptgruppen und Untergruppen, die wiederum Untergruppen haben und soweiter. Anzahl der Ebenen unbekannt. Die Untergruppen haben jeweils ein Feld, in dem die übergeordnete Gruppe angegeben ist.
Beispiel:
Hauptgruppe1 ID = H1
Hauptgruppe2 ID = H2
UntergruppeEbene1 ID=H101 Ü = H1
UntergruppeEbene2 ID=H10101 Ü = H101
....
Das mit den IDs ist leider nicht so schön wie hier in dem Beispiel sondern frei vergeben.
Nun möchte ich die ausgeben lassen und zwar schick geordnet, alle Gruppen auf der selben Ebene sollen auch dementsprechend angezeigt werden, etc.
Nun wollte ich das ganze über while-Schleifen machen. An sich ja auch ganz nett, das Problem vor dem ich stehe ist nur, dass es ja eine unbestimmte Anzahl (je nach Anzahl der Ebenen) von while-Schleifen in While-Schleifen geben müsste, soweit ich mir das vorgestellt habe.
Ich müsste also abgfragen, ob es noch Gruppen eine Ebene tiefer gibt, und wenn ja, die auch nochmal abklappern.
Irgendwie krieg ich das nicht zusammengebastelt.
Wäre nett, wenn ihr mir einen Denkansatz gebt.
Gruß
Matthias
Hi,
Ich müsste also abgfragen, ob es noch Gruppen eine Ebene tiefer gibt, und wenn ja, die auch nochmal abklappern.
Richtig. Das Stichwort lautet Rekursion.
MfG ChrisB
Hi,
Ich müsste also abgfragen, ob es noch Gruppen eine Ebene tiefer gibt, und wenn ja, die auch nochmal abklappern.
Richtig. Das Stichwort lautet Rekursion.
MfG ChrisB
Das hab ich mir auch gedacht irgendwie eine Variable "aktuelleÜbergruppe",
die dann immer geändert wird. Leider krieg ich das gerade nicht auf die Reihe....
Steh aufm Schlauch
Hallo Matthias,
Ich müsste also abgfragen, ob es noch Gruppen eine Ebene tiefer gibt, und wenn ja, die auch nochmal abklappern.
Richtig. Das Stichwort lautet Rekursion.
Steh aufm Schlauch
die englischsprachige Wikipedia könnte Dir weiterhelfen Tree Traversal.
Die deutschsprachige Wikipedia schwieg sich darüber aus, als ich das letztemal danach suchte :-( Ach ja, die PHP-Standardbibliothek könnte Dir dabei helfen, die hat für sowas Iteratoren. Wie man diese verwenden kann, findest Du zum Beispiel in diesem von mir kommentierten Code von frank. Beachte bitte das Folgeposting. Dort geht es um das Durchlaufen einer Verzeichnisstruktur, die Analogie zu Deinem Anwendungsfall solltest Du sehen.
Freundliche Grüße
Vinzenz