Foros del Web » Programando para Internet » PHP »

comprobar códigos artículos

Estas en el tema de comprobar códigos artículos en el foro de PHP en Foros del Web. hola a todos, Primero pedir disculpas por si este no es el foro però como creo que combinamos PHP+MYSQL+JQUERY+AJAX pues creo que cualquiera de estos ...
  #1 (permalink)  
Antiguo 08/09/2014, 03:43
 
Fecha de Ingreso: agosto-2002
Ubicación: Lleida
Mensajes: 506
Antigüedad: 21 años, 8 meses
Puntos: 0
comprobar códigos artículos

hola a todos,

Primero pedir disculpas por si este no es el foro però como creo que combinamos PHP+MYSQL+JQUERY+AJAX pues creo que cualquiera de estos foros serviria.

Estoy realizando un data-entry en el que aparecen códigos de artículos debo controlar si existen y recuperar otra información para su càlculo.
He estado mirando y veo que una solución elegante seria en ajax, pero solo encuentro encuentro ejemplos autocompletar o búsquedas en tablas, però con mas de 200000 artículos no creo que sea pràctico.

Sólo quiero entrar el código de un artículo, acceder a la tabla articulos y recuperar varios campos: modelo, color, medida, unidades, precio
y mostrarlos en el form y si no existe el articulo mostrar un mensaje y no saltar de campo.

Podeis iluminarme con algun ejemplo o link donde se explique.

grácias.
  #2 (permalink)  
Antiguo 08/09/2014, 12:36
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: comprobar códigos artículos

Código PHP:
Ver original
  1. // server_ajax.php
  2. <?php
  3. // $_POST['codigo'] trae el codigo a buscar.
  4.  
  5. // ... Conectarse a la base de datos
  6. // ... SELECT precio, descripcion FROM articulos WHERE codigo = $_POST['codigo'];
  7. // ... Guardar la primera fila en $row
  8.  
  9. /*/
  10.  * Datos de ejemplo para la prueba, este array debe obtenerse de la base de datos.
  11.  * Esto solo es con fines ilustrativos.
  12. /*/
  13.  if($_POST['codigo'] < 50 && $_POST['codigo'] > 0)
  14.     $row = ["codigo" => $_POST['codigo'], "precio" => $_POST['codigo']*7, "descripcion" => "Articulo #$_POST[codigo]"];
  15.  else
  16.     $row = false;
  17. // Fin de datos ilustrativos.
  18.  
  19. print json_encode(["status" => ($row ? 1 : 0), "data" => $row]);
  20. exit();

Código HTML:
Ver original
  1. <!-- index.html -->
  2. <!DOCTYPE html>
  3.     <head>
  4.         <title>Demo Ajax Load</title>
  5.         <script>
  6.             function load_ajax()
  7.             {
  8.                 var codigo  = document.getElementById("codigo").value;
  9.                 document.getElementById("codigo").value = "";
  10.                
  11.                 var xmlhttp = new XMLHttpRequest();
  12.                 xmlhttp.onreadystatechange=function()
  13.                 {
  14.                     if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
  15.                     {  
  16.                         var row = JSON.parse(xmlhttp.responseText);
  17.                         if(row.status == 1)
  18.                         {
  19.                             var tbody  = document.getElementById("table").getElementsByTagName("tbody")[0];
  20.                             tbody.innerHTML += '<tr>'+
  21.                                                     '<td>'+row.data.codigo+'</td>'+
  22.                                                     '<td>'+row.data.descripcion+'</td>'+
  23.                                                     '<td>$ '+row.data.precio+'</td>'+
  24.                                                 '</tr>';
  25.                         }
  26.                         else
  27.                             alert("No se ha encontrado el codigo.");
  28.                     }
  29.                 }
  30.                 xmlhttp.open("POST", "server_ajax.php", true);
  31.                 xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  32.                 xmlhttp.send("codigo="+codigo);        
  33.             }
  34.         </script>
  35.     </head>
  36.     <body>
  37.         <table id="table">
  38.             <thead>
  39.                 <tr>
  40.                     <th colspan="3"><input type="number" id="codigo"><input type="button" value="LOAD" onclick="load_ajax();"></th>
  41.                 </tr>
  42.                 <tr>
  43.                     <th>Codigo</th>
  44.                     <th>Descripcion</th>
  45.                     <th>Precio</th>
  46.                 </tr>
  47.             </thead>
  48.             <tbody>
  49.             </tbody>
  50.         </table>
  51.     </body>
  52. </html>
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: sql, 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 00:26.