Ver Mensaje Individual
  #9 (permalink)  
Antiguo 10/08/2011, 09:53
dadam
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: crear arbol genealógico con php

Muchas gracias por el aviso, realmente me han parecido muy interesantes los artículos, y me he decantado por hacer la recurrencia en el array y no en la base de datos, ha quedado asi:

Código PHP:
class listCategories{

    var 
$childrenCategory     "";
    var 
$table                 "";
        
    function 
main($mysql){
        
$sql $mysql->query("SELECT id, name, previus FROM ".$this->table." ORDER BY name ASC");
        while(
$result $mysql->f_obj($sql)){
            
$list[] = array($result->id$result->name$result->previus);
        }
        foreach(
$list as $field){
            if(
$field[2] == 0){
                print 
"<div>".$field[1]."</div>";    
                
$this->childrenCategory[$field[1]] = $this->children($list$field[0], $field[1]);
            }
        }
    }
    function 
children($list$previus$previusName){
        foreach(
$list as $value){
            if(
$value[2] == $previus){
                
$this->childrenCategory .= " ".$value[1];
                print 
"<div>".$previusName.$this->childrenCategory."</div>";
                
$this->children($list$value[0], $value[1]);
            }
        }
    }

Funciona exactamente igual, y efectivamente, solo hace una consulta a la bd.

Gracias!