Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/12/2010, 10:44
kbmaster
 
Fecha de Ingreso: julio-2009
Mensajes: 42
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: Crear menú árbol recursivo

Como ves resulta bastante simple un arbol es una estructura recursiva por si misma; cada vez que se procesa un nodo del arbol se hace lo propio para todos sus hijos...

Lo que nesesitarias adicionalmente es una clase de categorias q contenga los nodos q son raiz del arbol, es decir aquellos que no tienen padre... espero te sea util salu2


Código PHP:

 

class Arbol
{
  private 
$id;
  private 
$nombre;
  private 
$childs;    

 function 
__construct($id,$name)
 {
     
$this->id=$id;
     
$this->name=$name;
     
$this->childs=array();
     
$this->loadChilds();    
 }

 function 
loadChilds()
 {
    
//obtener todos los hijos de este arbol
    
$chils=this->obtenerHijos();
    
    foreach(
$childs as $child)
    {
       
$ch=new Arbol($child['id'],$child['name']); //aca esta la llamada recursiva
       
array_push($this->childs,$ch);
    }    
 
 } 

 
 
 function 
obtenerHijos()
 {

    
//busca en la base de datos todos los registros con
        //id_padre igual a $this->id 
        //retorna un array de objetos [{id,name}]

 
}