Ver Mensaje Individual
  #5 (permalink)  
Antiguo 31/12/2009, 05:58
Avatar de Phoenix23
Phoenix23
 
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Funcion recursiva

Hola pateketrueke,

Este es el código que me recomendo Triby:

Código PHP:
<?php

include ("menu_arbol/demo/conexion.php");

// Inicializas la matriz
$familia = array();

$result mysql_query('SELECT * FROM subfam') or die(mysql_error());
while(
$row mysql_fetch_assoc($result)) {
    
$idFamilia $row['Familia'];
    
$descri $row['Descripcio'];
    
// Verificas si ya se creo la matriz para el $padre
    
if(!isset($familia[$descri]))
        
$familia[$descri] = array();
    
// Agregas la informacion del foro donde corresponde
    
$familia[$descri][$fam] = $row;
}
 
// Puedes hacer un var_dump($foros); para que veas la estructura
// en $foros[0] quedan solo los foros que no tienen padre (es cero)
// segun tu ejemplo:
//      $foros[0] tendra 1 => datos foro 1, 5 => datos foro 5
//      $foros[1] tendra 2 => datos foro 2,  4 => datos foro 4
//      $foros[2] tendra  3 => datos foro 3
//      etc...
 
echo '<ul>';
listar_foros(0); // Ejecutas la funcion que creara el listado, partiendo del index
echo '</ul>';
 
return;
 
function 
listar_foros($idFamilia) {
    
    
$familia=array();
    
$arti = array();
    
    foreach(
$familia[$descri] as $arti => $datos) {
        echo 
'<li>';
        echo 
"<a href=\"{$datos['link_del_foro']}\">{$datos['nombre_del_foro_']}</a>";
        
// Verificas si el foro tiene "hijos"
        
if(isset($familia[$arti])) {
            echo 
'<ul>';
            
listar_foros($idFamilia);
            echo 
'</ul>';
        }
        echo 
'</li>';
    }
}

?>
y me da el error de Warning: Invalid argument supplied for foreach() in ...
Lo que no se es porque. LLevo toda la mañana y no lo entiendo.

Saludos y que termineis bien el año y empeceis mejor el siguiente
__________________
"La vida se mide por las veces que te levantas, no por las veces que te caes"

visita zarautz!!!