Hallo,
ich komm grad irgendwie nicht weiter an meinem Menü, das ich für meine Webseite erstellen will...
Folgendes ist geplant...
Es soll eine Hauptkategorie (z.B. Allgemein) und eine Unterkategorie (z.B. Über uns) über die Datenbank generiert werden.
Ich habe 2 Datenbankeinträge:
menu_main und menu_sub
Jede Kategorie hat eine menuID (z.B. 1) und jede Unterkategorie auch, aber halt z.B. 1,1 für den ersten Eintrag in der Hauptkategorie.
Jetzt möchte ich folgendes.
Ich möchte die Hauptkategorie angezeigt haben. Darunter dann alle Einträge die mit der selben Zahl beginnen. z.B. 1 als Hauptkategorie 1,1; 1,2; 1,3 usw als Unterkategorie.
Dann bei der 2. Hauptkategorie 2... 2,1; 2,2; 2,3 usw.
Also dann soll es so Aussehen
Allgemein
- Startseite
- Über uns
Infos
- News
- Forum
das die Seite so generiert wird durch die Datenbankeinträge.
Wie kann ich das realisieren, das er aus 2 Datenbankeinträgen so ein Menü generiert, bekomme das irgendwie nicht hin?
Wäre für eine Antwort dankbar!
[PHP] Menü über MySQL-Abfragen erstellen
- Banger
- Ehemaliges Teammitglied
- Beiträge: 375
- Registriert: 03.05.2005 21:53
- Wohnort: Düsseldorf
- Kontaktdaten:
Hier mal ein abstrahiertes Beispiel:
Code: Alles auswählen
/*
menu_main:
id_main int, primary key
sort int
desc_main varchar(64)
menu_sub:
id_sub int, primary_key
id_main int, index
sort int
desc_sub varchar(64)
link_sub varchar(255)
*/
$res0 = mysql_query('SELECT M.id_main
, M.desc_main
, S.desc_sub
, S.link_sub
FROM menu_main AS M
JOIN menu_sub AS S
ON S.id_main = M.id_main
ORDER BY M.sort, S.sort', $conn) or die(mysql_error($conn));
echo '<ol>';
$last_main = 0;
for($i=0; $d0 = mysql_fetch_array($res0, MYSQL_ASSOC); $i++) {
if($d0['id_main'] != $lastmain) {
echo ($i ? '</ol></li>' : ''),'<li>',htmlentities($d0['desc_main']),'<ol>';
$lastmain = $d0['id_main'];
}
echo '<li><a href="',htmlentities($d0['link_sub']),'">',htmlentities($d0['desc_sub']),'</a></li>';
}
mysql_free_result($res0);
echo '</ol></li></ol>';