Suponiendo que tienes hasta tres niveles almacenados en una bd:
Código PHP:
Ver original$x=0;
$men[$p["nivel1"]][$p["nivel2"]][$p["nivel3"]][$x]["id"]=$p["id"];//id de tu pagina
$men[$p["nivel1"]][$p["nivel2"]][$p["nivel3"]][$x]["nom"]=$p["nombre"];//nombre
$x++;
}
$menu='<ul>';
foreach($men as $n1 =>$mx){
$menu.="<li><a>$n1</a><ul>";
foreach($mx as $n2 =>$my){
$menu.="<li><a>$n2</a><ul>";
foreach($my as $n3 =>$mz){
$menu.="<li><a>$n3</a><ul>";
foreach($mz as $nms =>$md)
$menu.="<li><a href=\"$md[id]\">$md[nom]</a></li>";
$menu.="</ul></li>";
}else
foreach($my[$n3] as $nms=>$md)
$menu.="<li><a href=\"$md[id]\">$md[nom]</a></li>";
}
$menu.="</ul></li>";
}else
foreach($my[$n2] as $nms=>$md)
$menu.="<li><a href=\"$md[id]\">$md[nom]</a></li>";
}
$menu.="</ul></li>";
}
$menu.='</ul>';