Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2011, 15:59
jorgegetafe
 
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.