Foros del Web » Programando para Internet » PHP »

Capturar registros desde un select(html)

Estas en el tema de Capturar registros desde un select(html) en el foro de PHP en Foros del Web. Hace un tiempo que me llamo la atencion esto al clickear en el select se abre una "tabla" con algunos registros y al seleccionar uno, ...
  #1 (permalink)  
Antiguo 15/03/2013, 18:07
 
Fecha de Ingreso: marzo-2013
Mensajes: 26
Antigüedad: 11 años, 1 mes
Puntos: 0
Capturar registros desde un select(html)

Hace un tiempo que me llamo la atencion esto
al clickear en el select se abre una "tabla" con algunos registros



y al seleccionar uno, que capture los valores en los campos de textos
todo sin actualizar.



Es posible hacerlo con php y js ?
Alguien sabe como hacerlo?
Saludos :)
  #2 (permalink)  
Antiguo 15/03/2013, 18:19
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Capturar registros desde un select(html)

Eso es ajax, captura el valor del select y lo envias via ajax al servidor para que este retorne los valores de los demás input, posteriormente agregas los valores a su input correspondientes....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 15/03/2013, 19:27
 
Fecha de Ingreso: abril-2010
Ubicación: Saltillo Mexico
Mensajes: 83
Antigüedad: 14 años
Puntos: 4
Respuesta: Capturar registros desde un select(html)

Usa jQuery. es muy sencillo hacerlo con ese framework.

http://jquery.com/
  #4 (permalink)  
Antiguo 19/03/2013, 11:26
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Capturar registros desde un select(html)

Mira lo que estas pidiendo es muy iteresante, me llamo la atencion e hice un script para que haga lo que deseas, sin embargo si no sabes jQuery esta bastante complicado. El ejemplo que te pongo consta de las siguientes caracteristicas y ya depende de ti el poderlo acomodar a tus necesidades.
  1. Tiene un evento jQuery change en el select del cual se dispara toda la accion.
  2. Hace una llamada Ajax suponiendo que es a la base de datos pero en realidad es un archivo php que simula resultados y los devuelve en codificados en JSON,esto lo hice para evitarme un for y estar imprimiendo con un echo los resultados.
  3. El criterio de busqueda se hace basado en el item seleccionado, este tiene un valor el cual es el que busca en el objecto que devolvio de tu servidor(productos.php) en forma JSON, claro que no es la forma optima, lo mejor es que la busqueda se haga en el servidor, pero como es un ejemplo pequeno funciona a la perfeccion.
  4. Solo devuelve un resultado, para obtener mas resultados del mismo producto hay que cambiar la criteria de busqueda.

Guarda los codigos y pruebalos, recuerda que usa PHP, este es el script que hace la magia:
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.                
  3.                 $("form select#productos").change(function(){
  4.                     var value = $(this).find(":selected").val();
  5.                     $.ajax({
  6.                         url: "data/productos.php",
  7.                         dataType: "json",
  8.                         success: function(data) {
  9.                             var tableBody = $("table#tbProductos tbody");
  10.                             $.map(data.productos, function(item) {
  11.                                 if(value == item.ID) {
  12.                                     tableBody.html("<tr>"
  13.                                                         +"<td>"+item.ID+"</td>"
  14.                                                         +"<td>"+item.PRODUCTO+"</td>"
  15.                                                         +"<td>"+item.DESCRIPCION+"</td>"
  16.                                                         +"<td>"+item.PRECIO+"</td>"
  17.                                                         +"<td>"+item.STOCK+"</td>"
  18.                                                     +"</tr>");
  19.                                 }
  20.                             });
  21.                         }
  22.                     });
  23.                 });
  24.             });

Y aqui descargas el codigo completo de tu pagina principal: http://paste.behstant.com/index.php?show=44

Y aqui el de productos.php: http://paste.behstant.com/index.php?show=45
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #5 (permalink)  
Antiguo 19/03/2013, 11:27
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: Capturar registros desde un select(html)

Cuando tenga acceso a un ftp subo los archivos en mi dominio para que los demas usuarios puedan ver el ejemplo sin descargarlo
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.

Etiquetas: registro, registros, 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 14:50.