
menú con n subniveles
Publicado por Armando (16 intervenciones) el 29/07/2008 23:05:00
hola a todos espero me puedan ayudar, quiero crear un meún con múltiples nieveles.
Para eso he creado una única tabla para categoría tengo un campo que se llame "dependencia".
En las subcategorías pones en "dependencia" el id de la del registro padre al que pertenece.
En el registro padre (o sea son del primer nivel) en ese campo le pongo "0".
Después hacer un while dentro de una función recursiva con los resultados, los guardas a todos en un array pero no logro procesar los resultados para generar un menú con múltiples niveles, aclaro que los niveles van de 1 en adelante.
El código que intento implementetar es el siguiente:
/*$nivelActual=0;
echo '<ul>';
for($i=0;$i<count($itemmenu);$i++){//voy a recorrer todos los items del arreglo
//echo "<a href='#'>".$itemmenu[$i]."</a><br>";
if ($nivelActual == 0) {
$nivelActual = $nitemmenu[$i];
} else {
if ($nivelActual < $nitemmenu[$i]) {
echo '<ul>';
} elseif ($nivelActual > $nitemmenu[$i]) {
echo '</ul>';
}
$nivelActual = $nitemmenu[$i];
}
echo "<li><a href='#'>".$itemmenu[$i]."</a>";
}
echo '</ul>';
espero me puedan ayudar con esto,
El arreglo $itemmenu[$i] contiene el nombre de todos los intems,
el arreglo n$itemmenu[$i] contiene todos los niveles correspondientes a los elementos guerdados en el primer arreglo ($itemmenu[$i])
Saludos,
Para eso he creado una única tabla para categoría tengo un campo que se llame "dependencia".
En las subcategorías pones en "dependencia" el id de la del registro padre al que pertenece.
En el registro padre (o sea son del primer nivel) en ese campo le pongo "0".
Después hacer un while dentro de una función recursiva con los resultados, los guardas a todos en un array pero no logro procesar los resultados para generar un menú con múltiples niveles, aclaro que los niveles van de 1 en adelante.
El código que intento implementetar es el siguiente:
/*$nivelActual=0;
echo '<ul>';
for($i=0;$i<count($itemmenu);$i++){//voy a recorrer todos los items del arreglo
//echo "<a href='#'>".$itemmenu[$i]."</a><br>";
if ($nivelActual == 0) {
$nivelActual = $nitemmenu[$i];
} else {
if ($nivelActual < $nitemmenu[$i]) {
echo '<ul>';
} elseif ($nivelActual > $nitemmenu[$i]) {
echo '</ul>';
}
$nivelActual = $nitemmenu[$i];
}
echo "<li><a href='#'>".$itemmenu[$i]."</a>";
}
echo '</ul>';
espero me puedan ayudar con esto,
El arreglo $itemmenu[$i] contiene el nombre de todos los intems,
el arreglo n$itemmenu[$i] contiene todos los niveles correspondientes a los elementos guerdados en el primer arreglo ($itemmenu[$i])
Saludos,
Valora esta pregunta


0