Foros del Web » Programando para Internet » PHP »

Menu php lista despegable

Estas en el tema de Menu php lista despegable en el foro de PHP en Foros del Web. Tengo este código por ejemplo, Código HTML: <nav> <ul> <li> Padre 1 </li> <li> Padre 2 </li> <li> Padre 3 <ul> <div> <li> Hijo 1.3 ...
  #1 (permalink)  
Antiguo 02/12/2017, 14:51
 
Fecha de Ingreso: julio-2014
Mensajes: 59
Antigüedad: 9 años, 8 meses
Puntos: 0
Menu php lista despegable

Tengo este código por ejemplo,

Código HTML:
<nav>
  <ul>
    <li>Padre 1</li>
    <li>Padre 2</li> 
  
    <li>Padre 3
      <ul>
        <div>
        <li>Hijo 1.3</li>  
        <li>Hijo 2.3</li>
        <li>Hijo 3.3</li>
        </div>
      </ul>
    </li>
    
    <li>Padre 4</li>
         <ul>
        <div>
        <li>Hijo 1.4</li>  
        <li>Hijo 2.4</li>
        <li>Hijo 3.4</li>
        </div>
      </ul>
    </li>
    
    <div>
  </ul>
</nav> 
Cada que seleccione algún padre me muestre los hijos del padre seleccionado. recordemos que los padre y los hijos están en una base de datos mysqli.

No se que me aconsejen usted un idea
  #2 (permalink)  
Antiguo 02/12/2017, 15:32
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 8 meses
Puntos: 263
Respuesta: Menu php lista despegable

?????????????????????????? <- esto es igual a tu pregunta
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 02/12/2017, 15:37
 
Fecha de Ingreso: julio-2014
Mensajes: 59
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Menu php lista despegable

Visto -> xfxstudios
  #4 (permalink)  
Antiguo 02/12/2017, 15:51
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años
Puntos: 169
Respuesta: Menu php lista despegable

Código PHP:
Ver original
  1. <?php
  2. while($row = mysqli_fetch_array($consulta_query)){ //while 1
  3.  
  4. echo $row['padre']
  5. $consulta2 = "SELECT * FROM hijos WHERE padre='$row['padre']'";
  6. //query
  7. while($row2 = mysqli_fetch_array($consulta2_query)){
  8.  
  9. echo "- ".$row2['hijo']:
  10. }//cierro while 2
  11.  
  12. }//cierro while 1
  13.  
  14. ?>
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #5 (permalink)  
Antiguo 02/12/2017, 15:52
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 8 meses
Puntos: 263
Respuesta: Menu php lista despegable

Cita:
Iniciado por domichis Ver Mensaje
Visto -> xfxstudios
es decir tienes algún código php que mostrar de lo que hayas intentado o buscado googleando de casualidad??

Muestra de los campos de tu base de datos a adivinamos con solo ver el html???
__________________
[email protected]
HITCEL
  #6 (permalink)  
Antiguo 02/12/2017, 20:07
 
Fecha de Ingreso: julio-2014
Mensajes: 59
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Menu php lista despegable

No tengo mucho que mostrar.
xfxstudios no entiendes muy bien la lógica de programación.

Seguiré buscando la respuesta.
  #7 (permalink)  
Antiguo 02/12/2017, 21:27
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 8 meses
Puntos: 263
Respuesta: Menu php lista despegable

Cita:
Iniciado por domichis Ver Mensaje
No tengo mucho que mostrar.
xfxstudios no entiendes muy bien la lógica de programación.

Seguiré buscando la respuesta.
me hiciste el día con tu respuesta, pues si supieras de lógica de programación no estarías haciendo la pregunta, pero ya dejemos de perder el tiempo y termina de describir como tienes estructurada tus tablas para así poderte dar una respuesta concreta, si lo que quieres es una respuesta media llena, te podría decir que trabajes con una función que devuelva los hijos de un padre en caso de haberlos, podrías hacer lo siguiente, ve si te sirve o sigue buscando. Saludos

Código PHP:
Ver original
  1. //Funcion que traera a los hijos de un nodo principal
  2. function  hijos($X){
  3.     $b = $db->query("SELECT * FROM hijos WHERE id_padre = $X");
  4.     return (mysqli_num_rows($b)>=1) ? $b : false;//Retornamos la query si hay resultados, si no retornamos false
  5. }
  6.  
  7. //Consulta principal a la tabla padres
  8. $a = $db->query("SELECT * FROM padres");
  9. $cant = mysqli_num_rows($a);
  10.  
  11. //Si hay resultados los recorremos
  12. if($cant>=1){
  13. echo "<nav></ul>";
  14.     while($row = $a->fetch_array()){
  15.         $hijos = hijos($row['id']);//Validamops que el item de menu tenga sub categorias
  16.  
  17.         //Mostramos el item de menu padre
  18.         echo "<li>".$row['campo'];
  19.  
  20.             //Si tiene hijos los recorremos
  21.             if($hijos){
  22.  
  23.                 //Iniciamos la sublista de hiijos
  24.                 echo "<ul>";
  25.                 while($rowb = $hijos->fetch_array()){
  26.  
  27.                     //Mostramos el item hijo en orden
  28.                     echo "<li>".$rowb['campo']."</li>";
  29.                 };
  30.  
  31.                 //cerramos la sub lista de hijos y la lista del padre
  32.                 echo "</ul></li>";
  33.             }else{
  34.  
  35.                 //en case de no tener hijos cerramos el item padre y continuamos
  36.                 echo "</li>";
  37.             }
  38.     }
  39. };
  40. echo "</ul></nav>";

recuerda que no indicas si utilizas un framework para el trabajo que haces, o es código puro php, el asunto es que para recibir ayuda debes formular la pregunta y la respectiva explicación con la mayor cantidad de detalles posibles, no esperes que hagan siempre la tarea por ti, adivinando lo que tienes en mente.

Pues no indicas siquiera si lo que quieres es una consulta a la base de datos o un código jquery que te despliegue el contenido con cada click.
__________________
[email protected]
HITCEL

Etiquetas: despegable, html, lista, mysql, nombre, variable
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 05:35.