Hallo!
Ich möchte gerne ein Menü mit PHP erstellen. Das Menü kann Untermenüpunkte haben und diese können wiederrum Untermenüpunkte haben. die PHP Konstruktion die ich gemacht habe, endet logischerweise in einer Endlosschleife... ich weiß leider nicht, wie man sowas lösen könnte. Könnt ihr mir bitte weiterhelfen?
MYSQL:
Funktion zum Laden des Hauptmenüs:
Funktion die überprüfen soll, ob es Unter-Menüpunkte gibt:
Funktion zum laden der Unter-Menüpunkte:
Ich möchte gerne ein Menü mit PHP erstellen. Das Menü kann Untermenüpunkte haben und diese können wiederrum Untermenüpunkte haben. die PHP Konstruktion die ich gemacht habe, endet logischerweise in einer Endlosschleife... ich weiß leider nicht, wie man sowas lösen könnte. Könnt ihr mir bitte weiterhelfen?
MYSQL:
elementid | parentel | e_label |
1 | 0 | Hauptmenüpunkt |
2 | 0 | Weiterer Hauptmenüpunkt |
3 | 1 | Untermenüpunkt von Hauptmenüpunkt |
4 | 1 | Weiterer Untermenüpunkt von Hauptmenüpunkt |
5 | 4 | Untermenüpunkt vom Untermenüpunkt... |
Funktion zum Laden des Hauptmenüs:
PHP:
$q= $mysql->query("SELECT * FROM networkmap WHERE parentel='0'");
$list .= "<ul>";
while($s = $mysql->fetch_array($q)) {
$list .= "<li>";
$list .= $s['e_label'];
if(hasSubGroups($s['elementid'])>0) {
elements($s['elementid']);
}
$list .= "</li>";
}
$list .= "</ul>";
Funktion die überprüfen soll, ob es Unter-Menüpunkte gibt:
PHP:
function hasSubGroups($id) {
global $mysql;
$q= $mysql->query("SELECT * FROM networkmap WHERE parentel='{$id}'");
return $mysql->affected_rows;
}
Funktion zum laden der Unter-Menüpunkte:
PHP:
function elements($id) {
global $mysql;
$q= $mysql->query("SELECT * FROM networkmap WHERE elementid='{$id}'");
$list .= "<ul>";
while($s = $mysql->fetch_array($q)) {
$list .= "<li>";
$list .= $s['e_label'];
if(hasSubGroups($s['elementid'])>0) {
elements($s['elementid']);
}
$list .= "</li>";
}
$list .= "</ul>";
}