Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar info en la misma pagina, al seleccionar opcion desde el menú creado con while

Estas en el tema de Mostrar info en la misma pagina, al seleccionar opcion desde el menú creado con while en el foro de PHP en Foros del Web. Buenas Gente! Creo un menú con info de una tabla y hasta ahí todo bien. Lo que intento realizar, es que desde el menú creado, ...
  #1 (permalink)  
Antiguo 20/01/2017, 00:35
 
Fecha de Ingreso: febrero-2012
Ubicación: Cancun
Mensajes: 79
Antigüedad: 12 años, 2 meses
Puntos: 0
Mostrar info en la misma pagina, al seleccionar opcion desde el menú creado con while

Buenas Gente! Creo un menú con info de una tabla y hasta ahí todo bien. Lo que intento realizar, es que desde el menú creado, al seleccionar una opción, muestre la info correspondiente en la misma pagina. Como podría hacerlo? Este es mi trabajo:

TABLA: 'LOCALES', COLUMNA 'NOMBRE' (MCDONALD, BURGER, ETC).


Código PHP:
Ver original
  1. <script>
  2. $(document).ready(function(){
  3.  
  4. $('#opcion').click(function(){      
  5.     $("#base").load("plantilla.php");
  6. });
  7. });
  8. </script>
  9.  
  10. <div id="posbarra">
  11. <ul id="barra">
  12.  
  13. <?php
  14.  
  15. $consulta = mysqli_query($db,"SELECT nombre from locales");
  16. while ($registro=mysqli_fetch_array($consulta))
  17.  
  18. { ?>
  19.     <li id="opcion"><a href="#"><?php echo $registro['nombre']; ?></a</li>
  20.  
  21. <?php
  22.     }  
  23. ?>
  24.      
  25. </ul>
  26. </div>
  27.  
  28. <section id="base">
  29. /*AQUI MUESTRO LA INFO*/
  30. <div class="">
  31.        
  32. </div>
  33.  </section>

Bueno, y aquí me quede. Llamo a la pagina plantilla.php, aquí estaría la info. Se me ocurre algo así como realizar una consulta en la pagina plantilla.php, donde nombre = $registro['nombre'], pero no se como hacerlo sin un metodo post. Podrían guiarme con lo que se les ocurra?

Gracias! Saludos!

Última edición por agustinpak; 20/01/2017 a las 00:47 Razón: Corrección de titulo
  #2 (permalink)  
Antiguo 20/01/2017, 01:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Mostrar info en la misma pagina, al seleccionar opcion desde el menú cread

Hola agustinpak,

Con info ¿te refieres a algo relacionado con lo que seleccionas en el menú? Si es así, tal vez con AJAX, pasando como parámetro por URL a plantilla.php algo que te permita mostrar esa info y no el resto.

No sé si te he entendido bien, pero con lo que explicas, es lo que se me ocurre...
  #3 (permalink)  
Antiguo 21/01/2017, 06:12
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 9 meses
Puntos: 39
Respuesta: Mostrar info en la misma pagina, al seleccionar opcion desde el menú cread

Como bien ha dicho rbczgz lo ideal es que utilices la función ajax de jQuery, ya que estás usando jQuery.

La función $.load(), lo que hace es cargar una página utilizando ajax. Te recomiendo leer la info de load(). :http://api.jquery.com/load/

Yo en tu lugar utilizaría la función $.ajax() de jquery a la que le puedes pasar parámetros por POST o por GET y es muy simple de usar:

Código Javascript:
Ver original
  1. $( '#opcion' ).click( function() {
  2.     var name = $( this ).children( 'a' ).html();
  3.  
  4.     var parametros = {
  5.         nombre: name
  6.     };
  7.  
  8.     $.ajax( {
  9.         url: 'plantilla.php',
  10.         type: 'POST',
  11.         data: parametros,
  12.         success: function( response ) {
  13.             $( '#base' ).html( response );
  14.         }
  15.     });
  16. });

Con este código, obtienes el nombre que hay dentro del link que hay en el <li> clicado. Lo intoduces en un objeto llamado parámetros.

Por medio de ajax llamas al archivo plantilla.php y a través del método POST definido en el type (por defecto GET) le pasas los parámtros a plantilla.php.

La función success() te devuelve la respuesta si todo fue correctamente. La respuesta que te devolverá será todo lo que sea visible en plantilla.php. Es decir, el HTML que haya o bien lo que pongas con un echo en PHP.

Lo ideal para evaluar bien la respuesta es devolver un objeto en json y evaluarlo en la función respuesta de manera que puedes traer muchos datos en lugar de solo lo impreso en plantilla.php, pero eso al gusto.

Por ejemplo si tu plantilla.php tuviera este código, el div hola sería lo que recibirías en la variable response de la función success().

Plantilla.php

Código PHP:
Ver original
  1. <div id="hola">
  2.     Hola soy la respuesta ajax, me has pasado la variable <?php echo $_POST[ 'nombre' ];?>
  3. </div>

Espero que te sirva.
__________________
Diseño Web - Arisman Web
  #4 (permalink)  
Antiguo 21/01/2017, 22:36
 
Fecha de Ingreso: febrero-2012
Ubicación: Cancun
Mensajes: 79
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Mostrar info en la misma pagina, al seleccionar opcion desde el menú cread

Hola! Me super sirvió!! Excelente esa función, no conozco para nada ajax pero ahora me pongo a estudiar mas sobre el tema.

Muchas gracias a ambos por su tiempo y ayuda.

Saludos!!

Etiquetas: consultar, mysql, registro, select, tab
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 07:15.