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

Por si a alguien le sirve, he depurado un poco más el sistema y funciona perfectamente para categorias infinitas...

Código PHP:
class categories{
    
    var 
$table        ""
    var 
$id            "";
    var 
$name        "";
    var 
$previus        "";
    
    
//Listamos las categorias raiz
    
function parentCategories($mysql){
        
$sqlCategory =  $mysql->query("SELECT ".$this->id.", ".$this->name." FROM ".$this->table." WHERE ".$this->previus." = '0' ORDER BY name ASC");
        while(
$category $mysql->f_obj($sqlCategory)){
            print 
"<div>".$category->name."</div>";    
            
$this->childrenCategories($mysql$category->id,  $category->name." -> ");
        }        
        
$mysql->free_sql($sqlCategory);
    }
    
    
//Comprobamos si tienen subcategorias
    
function childrenCategories($mysql$prer$parent){
        
$sqlCategory =  $mysql->query("SELECT ".$this->id.", ".$this->name." FROM ".$this->table." WHERE ".$this->previus." = '".$pre."' ORDER BY name ASC");
        while(
$category $mysql->f_obj($sqlCategory)){
            print 
"<div>".$parent.$category->name."</div>";
            
$parent .= $category->name." -> ";
            
$this->childrenCategories($mysql$category->id$parent);        
        }
        
$mysql->free_sql($sqlCategory);
    }

Matizo, que la conexion a mysql la hago desde una clase, que eso se puede cambiar...