The function is simple:
function showMenu( $level = 0 ) {
$sql = "SELECT * FROM `menus` WHERE `submenu`=".$level;
$result = mysql_query( $sql );
echo "<ul>";
while ( $node = mysql_fetch_array( $result ) ) {
echo "<li>". $node['name'];
$sql_ = "SELECT * FROM `menus` WHERE `submenu`=".$node['id'];
$hasChild = mysql_fetch_array( mysql_query( $sql_ ) ) != null;
if ( $hasChild ) {
showMenu( $node['id'] );
}
echo "</li>";
}
echo "</ul>";
}
But the results when I'm using the level 1 or over is strange. For example:
showMenu( 1 );
will return me all the items, except first items.