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: 15 años, 11 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.