Foros del Web » Programando para Internet » PHP »

Mejorar recorrido árbol

Estas en el tema de Mejorar recorrido árbol en el foro de PHP en Foros del Web. Hola a todos, tengo en mysql una serie de registros que forman un árbol, cada registro puede tener un padre. Para recorrer el árbol utilizo ...
  #1 (permalink)  
Antiguo 07/10/2011, 15:59
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 10 meses
Puntos: 1
Exclamación Mejorar recorrido árbol

Hola a todos, tengo en mysql una serie de registros que forman un árbol, cada registro puede tener un padre.

Para recorrer el árbol utilizo el siguiente código php (ni mucho menos la más eficiente pero como el árbol tiene pocos hijos me vale):

Código PHP:
function mostrar_hijos($padre$nivel) {
    
$bbdd = new BaseDatos();
    
$consulta 'SELECT * FROM documentos WHERE id_documento_padre = ' $padre ' order by titulo;';
    
$resultado $bbdd->consultar($consulta);

    while (
$unResultado mysql_fetch_assoc($resultado)) {
        echo 
str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;'$nivel) . $unResultado['titulo'] . "<br>";
        
mostrar_hijos($unResultado['id_documento'], $nivel 1);
    }

La función me muestra correctamente el árbol, pero cuando llega a un registro que no tiene hijos muestra el mensaje: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given debido a que no encuentra hijos para ese registro.

Quitar esos mensajes de error es fácil pero me parece una chapuza, ¿se le ocurre a alguien alguna mejora en el código para hacer desaparecer los warnings? muchas gracias.
  #2 (permalink)  
Antiguo 07/10/2011, 16:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Mejorar recorrido árbol

Podrías condicionar $unResultado con algo de lógica, supongo.
Cita:
si (hay resultados) {
itero los resultados
}
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/10/2011, 16:40
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 13 años, 4 meses
Puntos: 31
Respuesta: Mejorar recorrido árbol

Hola amigo...
Intenta cambiar esta linea

($unResultado = mysql_fetch_assoc($consulta));

Saludos,

Etiquetas: mejorar, mysql, recorrido, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:24.