mille
Erfahrenes Mitglied
Hallo!
Angenommen ich hab folgende Datenbankstruktur
table_hauptkagegorie
ID | name
table_unterkategorie1
ID | ID_hauptkategorie | name
table_unterkategorie2
ID | ID_unterkategorie1 | name
Wenn hinter dieser Struktur nun ein Menü steckt, welches aus 3 Ebenen besteht, wobei in der Tabelle Unterkategorien2 die 3 Ebene liegt, die einer Unterkategorie1 zugeordnet ist, welcher wiederrum unter einer Hauptkategorie zu finden ist, wie kann ich dann ein auslesen der Art realisieren, das ich ein Array (für PHP) erhalte, das mir gleich die korrekte Reihen folge darstellt.
sinngemäß müsste der Syntax ja so aussehen: "SELECT * FROM table_hauptkategorie, table_unterkategorie1, table_unterkategorie2" um erstmal das komplette menü auszulesen.
Nun ein Beispiel für ein sinnfreies Menü:
Filme
__Action
____unter 90 minuten
____ueber 90 Minuten
__Komödien
____schwarzer Humor
____vor 2005
____nach 2005
__Tragik
____Herzschmerz
____Krieg
Bücher
__Romane
____Liebe
____Action
__Sachbücher
____PHP
____MYSQL
____C++
die Entsprechende Tabelle würde ja so aussehn
table_Hauptkategorien
1 | Filme
2 | Bücher
table_Unterkategorie1
1 | 1 | Action
2 | 1 | Komödien
3 | 1 | Tragik
4 | 2 | Romane
5 | 2 | Sachbücher
table_Unterkategorie2
1 | 1 | Unter 90 Minuten
2 | 1 | Über 90 Minuten
.... (ich denk nicht, das ich jetzt weiter fortfahren muss, ihr wisst ja was ich meine )
Ich hätte jetzt gerne ein Array in folgender Form (ich zähle es auf, wie man es in PHP statisch definieren würde). es soll aber dynamisch an Hand der Tabelle entstehen, aber gerade das ist ja mein Problem
0 => "Filme",
1 => "Action",
2 => "unter 90 Minuten",
3 => "über 90 Minuten",
4 => "Komödien",
5 => "schwarzer Humor",
6 => "vor 2005",
7 => "nach 2005",
...
18 => "MYSQL"
19 => "C++"
Wie regle ich das? Sicherlich könnte ich das über einige PHP Operation auch organisieren, aber damit mache ich das Skript zu langsam, ich hätte gern ein komplettes ergebnis von der Datenbank geliefert, damit bleibt das Skript performanter .
Falls ich mich irre, dann berichtigt mich.
Bisher habe ich diesbezüglich noch keine Zeile programmiert, ich überlege mir gerne vorher wie ich etwas realisiere, bevor ich stundenlang rumprobiere.
MfG
Mille
Angenommen ich hab folgende Datenbankstruktur
table_hauptkagegorie
ID | name
table_unterkategorie1
ID | ID_hauptkategorie | name
table_unterkategorie2
ID | ID_unterkategorie1 | name
Wenn hinter dieser Struktur nun ein Menü steckt, welches aus 3 Ebenen besteht, wobei in der Tabelle Unterkategorien2 die 3 Ebene liegt, die einer Unterkategorie1 zugeordnet ist, welcher wiederrum unter einer Hauptkategorie zu finden ist, wie kann ich dann ein auslesen der Art realisieren, das ich ein Array (für PHP) erhalte, das mir gleich die korrekte Reihen folge darstellt.
sinngemäß müsste der Syntax ja so aussehen: "SELECT * FROM table_hauptkategorie, table_unterkategorie1, table_unterkategorie2" um erstmal das komplette menü auszulesen.
Nun ein Beispiel für ein sinnfreies Menü:
Filme
__Action
____unter 90 minuten
____ueber 90 Minuten
__Komödien
____schwarzer Humor
____vor 2005
____nach 2005
__Tragik
____Herzschmerz
____Krieg
Bücher
__Romane
____Liebe
____Action
__Sachbücher
____PHP
____MYSQL
____C++
die Entsprechende Tabelle würde ja so aussehn
table_Hauptkategorien
1 | Filme
2 | Bücher
table_Unterkategorie1
1 | 1 | Action
2 | 1 | Komödien
3 | 1 | Tragik
4 | 2 | Romane
5 | 2 | Sachbücher
table_Unterkategorie2
1 | 1 | Unter 90 Minuten
2 | 1 | Über 90 Minuten
.... (ich denk nicht, das ich jetzt weiter fortfahren muss, ihr wisst ja was ich meine )
Ich hätte jetzt gerne ein Array in folgender Form (ich zähle es auf, wie man es in PHP statisch definieren würde). es soll aber dynamisch an Hand der Tabelle entstehen, aber gerade das ist ja mein Problem
0 => "Filme",
1 => "Action",
2 => "unter 90 Minuten",
3 => "über 90 Minuten",
4 => "Komödien",
5 => "schwarzer Humor",
6 => "vor 2005",
7 => "nach 2005",
...
18 => "MYSQL"
19 => "C++"
Wie regle ich das? Sicherlich könnte ich das über einige PHP Operation auch organisieren, aber damit mache ich das Skript zu langsam, ich hätte gern ein komplettes ergebnis von der Datenbank geliefert, damit bleibt das Skript performanter .
Falls ich mich irre, dann berichtigt mich.
Bisher habe ich diesbezüglich noch keine Zeile programmiert, ich überlege mir gerne vorher wie ich etwas realisiere, bevor ich stundenlang rumprobiere.
MfG
Mille