Cita:
Iniciado por ocp001a 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>';
ocp001a De antemano muchas gracias por tu respuesta. La estructura como hace el recorrido con los foreach la tengo clara y digamos que eso de momento no tiene problema entenderlo.
Lo que no me quedo muy claro es la primera parte
Código PHP:
$x=0;
while($p=mysql_fetch_assoc($paginas)){
$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++;
}
Si entendi bien la $paginas seria algo así como
Código PHP:
$sql=SELECT * from pages;
$paginas=mysql_query($sql,$conexion);
Y por tanto x iria desde 0 hasta el numero total de articulos. Según tienes en tu arreglo se colocaria tres datos mas a la tabla que serian nivel 1, nivel 2 y nivel 3.
¿Que datos se deberian colocar en estos tres campos para obtener el nivel correspondiente? Estoy un poco perdido en esta parte. Gracias de antemano por tu colaboración.