Hola amigos, me acerco hoy con una duda que más que de PHP es de lógica, pero que aunque quizá sea un poco tonta no estoy sabiendo resolver.
Tengo una tabla (de categorías) donde cada categoría tiene una id, un id_padre y un nombre.
Ahora quiero listarlas, pero de forma que quede:
Madre 1
-Hija 1.1
-Hija 1.2
Madre 2
-Hija 2.1
-Hija 2.2
--SubHija 2.2.1
--SubHija 2.2.2
-Hija 2.3
Madre 3
-Hija 3.1
--SubHija 3.1.1
Se entiende?
De momento tengo algo así:
Código PHP:
$categoriasMadre = mostrarCategorias(0); // me da un array con arrays dentro (1 por cada categoría madre)
foreach($categoriasMadre as $categoria){
// la muestro y llamo a:
$categoriasHija = mostrarCategorias(); // me da un array con arrays dentro (1 por cada categoría)
foreach($categoriasHija as $categoriaHija){
if($categoriaHija['id_padre'] == $categoria['id']){
// Muestro
}
}
}
De esta manera muestro las madres y hijas (de primer nivel) correctamente, pero no logro hacer que esto sea válido para N niveles de "hijas"...
Espero se haya entendido la situación, agradezco cualquier idea que puedan darme
Saludos