Perfecto muchas gracias a los dos.
Funciona Jejeje
La acotación final de
pateketrueke termino de poner las piezas en su lugar.
Son geniales
Supongo que Triby daba por sentado que yo sabia esto.
Aquí el código Funcionando:
Código PHP:
<?php
global $categorias, $niveles;
$_bd_->_sql_consulta("SELECT * FROM ".prefijo."categorias ORDER BY id_padre, nombre", "simple");
while( $fila = $_bd_->_sql_fetch_array()) //establecemos la conexión y realizamos la consulta (cada quien con su código)
{
$id = $fila['id'];
$id_padre = $fila['id_padre'];
$categorias[$id] = $fila['nombre'];
// Si no existe el indice, lo creamos
if(!isset($niveles[$id_padre]))
$niveles[$id_padre] = array();
// Agregamos el ID de categoria en el nivel correspondiente
$niveles[$id_padre][] = $id;
}
function ver_categorias($padre)
{
global $categorias, $niveles;
if ( ! empty($categorias) && is_array($niveles))
{
echo '<ul>';
foreach($niveles[$padre] as $cat)
{
echo '<li>--' . $categorias[$cat];
if(isset($niveles[$cat]))
ver_categorias($cat);
echo '</li>';
}
echo '</ul>';
}
}
ver_categorias(0); // Mostrar todas las categorías
?>
P.D. ¿se podría listar diferenciando los niveles. Por ejemplo agregando un par de guiones antes del primer subnivel y tres antes del segundo y así sustantivamente
?
Cita: Algo así:
Cat 1
-- Cat 1.1
---Cat 1.1.1
Ya han hecho más que suficiente pero no quedaría mal ese agregado.
Nuevamente Muchas gracias por la atención y paciencia.