Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2009, 16:06
Avatar de Anarninquë
Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Una duda de lógica

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
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me