PHP Menü + Untermenüs .. Problem mit Endlosschleife

pekudel

Grünschnabel
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:
elementidparentele_label
10Hauptmenüpunkt
20Weiterer Hauptmenüpunkt
31Untermenüpunkt von Hauptmenüpunkt
41Weiterer Untermenüpunkt von Hauptmenüpunkt
54Untermenü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>";
			
	}
 
Zurück