Foros del Web » Programando para Internet » PHP »

Problema al pintar lista UL 2/3 niveles

Estas en el tema de Problema al pintar lista UL 2/3 niveles en el foro de PHP en Foros del Web. Hola a todos, estoy generando un menú dinamico, en un principio con 2 niveles, si consigo que funcione ya veré si hago para 3... jejejeje ...
  #1 (permalink)  
Antiguo 04/03/2013, 12:49
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 13 años, 2 meses
Puntos: 30
Problema al pintar lista UL 2/3 niveles

Hola a todos, estoy generando un menú dinamico, en un principio con 2 niveles, si consigo que funcione ya veré si hago para 3... jejejeje

Me pinta el primer nivel (padre), PERO solo me muestra un solo hijo, cuando en realidad, cada categoría padre, puede contener varios hijos.

El problema que tengo, es que me pasaron las tablas de la BD, y no pienso que estén bien hechas, ya que en ningún momento puedo sacar el ID de la categoría padre ni la categoría hijo, ya que estos dos aspectos van en una sola tabla de este modo:

ID_producto || CATEGORIA || TIPO || PRECIO || ETC......

Os dejo el código a ver si alguien detecta el error, que hace que me muestre todos los 'padres' perom solo me muestre un hijo por cada padre.

Código PHP:

<ul id="menu_lateral">
       
    <? 
    $prev
='';
    
$pro_res mysql_query("SELECT grupo,tipo, id FROM productos group by grupo, tipo order by id");
        while(
$pro mysql_fetch_array($pro_res)){
            if(
$prev!=$pro['grupo']){         // solo si la categoria cambia...
                
$prev=$pro['grupo'];
                
//echo $prev; //se imprime la categoria
              
?>
               <li><a class="menu_productos_a" href="#"><? echo $pro['grupo'];?></a>            
        
                  <ul class="sub_menu_lateral">
                    
                                  <li><a href="#"><? echo $pro['tipo'];?></a></li> 
                         </ul>
           </li>        
           <? }  //cierro if de $pro['grupo']?>

<?  }?>
</ul>
A ver si alguien me puede echar un vistazo a ver si es que el bucle me lo cierra antes de tiempo y no deja salir a los demás hijos, aunque he hecho pruebas de todo tipo y no lo pillo. También acepto sugerencias o enlaces, por si lo estuviera haciendo mal y necesitara realizarlo de otra manera.

Muchas gracias como siempre a todos. Un saludo.
  #2 (permalink)  
Antiguo 04/03/2013, 15:29
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 4 meses
Puntos: 181
Respuesta: Problema al pintar lista UL 2/3 niveles

Hola, te recomiendo que mires este aporte que hizo truman truman para pintar una lista de x niveles (mas general que usar 2 0 3)

http://www.forosdelweb.com/f18/aport...s-mas-1011423/

La idea es que en una parte de la base de datos especificara el codigo del padre y en caso que no los tuviera se representara con un numero unico (para el ejemplo del aporte es cero)

Echale una ojeada y cualquier cosa nos comentas.
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: lista, mysql, niveles, pintar, select, tabla
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 09:34.