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

Hola otra vez, sigo con el mismo problema, esta vez se trata de crear una ruta de las categorias, por ejemplo:

Antonio > Fernando > Amalia

En este caso, no tengo más remedio que hacer consultas recursivas a la BD, y lo hago de la siguiente forma:

Código PHP:
function createPath($mysql, $category, $_tableCat, $path = ""){
    
$result = $mysql->query("SELECT id, name, previus FROM $_tableCat WHERE id = '{$category}' LIMIT 1");
    
$row = $mysql->f_obj($result);
    if(
$row->previus > 0){
        
$path[] .= $row->id .",". $row->name;
        
$category = $row->previus; 
        if(
$category > 0){
            
createPath($mysql, $category, $_tableCat, $path);
        }
    }
    return 
$path;
} 
Lo que hago es ver el id actual, y voy buscando el previo (previus), hasta que llego a 0, el problema es que no funciona, el array ($path) se vacia en cada pasada, y me devuelve siempre el último resultado... seguro que es una tontería pero no veo donde está el problema, es como si cada vez que llama la función la variable $path se reiniciara, en vez de pasar los datos acumulados

Un saludo! y a ver si alguien me puede ayudar.