Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/02/2010, 20:43
Bam_Margera
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 3 meses
Puntos: 13
Ayuda con este Algoritmo (listar categorias en Arbol) por favor

Muy buenas, me estoy volviendo loco....

primero, os pongo en situacion...

Tabla categorias (id, iduser, idpadre, nombre)

Bien, lo que quiero hacer, es un menu, en el que hay un item que es categorias; que cuando el usuario se ponga encima se desplieguen las categorias,

Que cuando El usuario se ponga encima de una de las desplegadas, se desplieguen sus subcategorias...

El algoritmo que tengo hasta ahora es

Código PHP:
<ul>
            

                     <?


                    
// CATEGORIAS

                    

                    
$sqlQueryCat1 mysql_query("SELECT * FROM categorias WHERE iduser='$iduser' AND idpadre='0'");
                    while(
$rowCat1 mysql_fetch_array($sqlQueryCat1)){
                        
$nombreCat $rowCat1['nombre'];
                        
$idCat $rowCat1['id'];
                        
$idPadre $rowCat1['idpadre'];
                        
$listarCat '<li><a href="listarenlaces.php?id='.$idCat.'">'.$nombreCat.'</a></li>';
                        
$nuevoCat '<li><a href="newCat.php?id='.$idCat.'">New</a></li>';
                        echo 
$listarCat;
                            
                            
$sqlQueryCat2 mysql_query("SELECT * FROM categorias WHERE iduser='$iduser' AND idpadre='$idCat'");
                            while(
$rowCat2 mysql_fetch_array($sqlQueryCat2)){
                                
$nombreCat1 $rowCat2['nombre'];
                                
$idCat1 $rowCat2['id'];
                                
//$idPadre1 = $rowCat2['idpadre'];
                                
$listarCat1 '<li><a href="listarenlaces.php?id='.$idCat1.'">'.$nombreCat1.'</a>';
                                
$nuevoCat1 '<li><a href="newCat.php?id='.$idCat1.'">New</a></li>';
                                echo 
$listarCat1;
                                
$sqlQueryCat3 mysql_query("SELECT * FROM categorias WHERE iduser='$iduser' AND idpadre='$idCat1'");
                                
$alguno false;
                                echo 
'<ul>';
                                while(
$rowCat3 mysql_fetch_array($sqlQueryCat2)){
                                    
                                    
$nombreCat $rowCat3['nombre'];
                                    
$idCat $rowCat3['id'];
                                    
//$idPadre = $rowCat3['idpadre'];
                                    
$listarCat '<li><a href="listarenlaces.php?id='.$idCat.'">'.$nombreCat.'</a></li>';
            
                                    echo 
$listarCat;

                                
        
                                }
                                
                                echo 
$nuevoCat1;
                                
                                
                                
                                echo 
'</ul>';
                                echo 
'</li>';
                                
                            }
    


                    }
                    echo 
$nuevoCat;
                        
                    
                        
    
?>
            
            

        </ul>
Lo podeis ver en

http://keepyourlinks.com/menup.php

El problema esque este menu, tiene dos estados; cuando estas logueado en keepyourlinks.com y cuando no... pues tiene el estado predefinido, pero bueno, es para que os hagais una idea

Pero bueno, ya me imagino que nadie se querra registrar para esto.. pero el problema es que los items About y Contac no me aparecen.... yo intuyo que sobra algun </ul>

fijaos en el codigo


if($alguno). creeis que estoy estudiando bien si hay que cerrar la sublista inizializada en el while? y bueno.. digamos que el orden de las subcategorias no es el correcto....

Anyadir que el <ul> de apertura y clausura del algoritmo no aparecen en el codigo, pero estan.


Se que es un quebradero... pero yo ya estoy bloqueado y hasta manyana no me queda otra opcion que preguntar.... o empezar de nuevo, que me gustaria descartarlo xD

un saludo, y gracias
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance