Foros del Web » Programando para Internet » Javascript »

Actualizar formulario e Forma dinámica

Estas en el tema de Actualizar formulario e Forma dinámica en el foro de Javascript en Foros del Web. hola , mira tengo que hacer el tipico programa de super , bueno es algo más simple pero no se bien como hacerlo , tengo ...
  #1 (permalink)  
Antiguo 28/09/2012, 10:01
 
Fecha de Ingreso: septiembre-2012
Ubicación: Sevilla
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 0
Actualizar formulario e Forma dinámica

hola , mira tengo que hacer el tipico programa de super , bueno es algo más simple pero no se bien como hacerlo , tengo un campo de texto en el que introduzco un numero de barras y quiero que una vez haga \n se inserte el numero en un textarea que hay colocado en esa misma pagina , sé que debo hacerlo con ajax . A por cierto el problema gordo viene cuando al guardar esto en una base de datos cada uno de los cigos de barras tienen que ir en lienas distintas , como si hubiera ido introduciendo uno pr ubno los artículs , espero que me pdáis ayudar.
Lo primero gracias y espero vuestras respuestas
  #2 (permalink)  
Antiguo 28/09/2012, 10:09
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Actualizar formulario e Forma dinámica

Seria bueno que pusieras como es la estructura de tu formulario y como debe quedar, en cuestión lo que yo entiendo es esto que quieres por ejemplo en un formulario agregar tantos códigos de barras y esto se agrega en un textarea todos los productos referentes a este código de barras y luego guardar todos los productos en una base de datos

Si no es asi especifica bien que es lo que deseas

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 28/09/2012, 10:13
 
Fecha de Ingreso: septiembre-2012
Ubicación: Sevilla
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Actualizar formulario e Forma dinámica

siiii nes exactamente eso mira el form es :

Código HTML:
Ver original
  1. <form action="entradaArticulo.php" method="post" id="formu">
  2.                 <legend>Entrada Almacén</legend>
  3.                 <br/>
  4.                 <label>Código de Barras</label>
  5.                 <input name="cBar" id="cBar" type="text" size="20" maxlenght="200" autofocus/>
  6.                 <br/> <textarea id="lotes" >
  7.  
  8.                 </textarea>
  9.  <input id="enviar" name="enviar" type="submit" value="Aceptar" />
  10.             </form>


como l hago para que lo que introduzca se guarde en el textarea al hacer intro y que luego en la base de datos se me guarden pr separao

Última edición por nataliagb1992; 28/09/2012 a las 10:33
  #4 (permalink)  
Antiguo 28/09/2012, 10:57
 
Fecha de Ingreso: septiembre-2012
Ubicación: Sevilla
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Actualizar formulario e Forma dinámica

mira lo que he pensado para hacerlo pero me sale un fallo me dice que no conoce a la variable $_post['fechaFactura']

Código PHP:
Ver original
  1. <?php
  2. header("Content-Type: text/html;charset=utf-8");
  3. include_once 'clases/Class_Bd.php';
  4. echo " <link rel='stylesheet' type='text/css' media='screen' href='cssPageGrid.css' />";
  5. $conexion = new Conecta_DB;
  6. $conexion->conectar();
  7. $res = $_POST['cBar'];
  8. $consulta = "SELECT cBarras FROM altaArticulos WHERE cBarras='$res')";
  9. $query = $conexion->consultar($consulta);
  10. if ($query) {
  11.      foreach ($query as $row) {
  12.         $aviso0 = $row['cBarras'];
  13.         $aviso1="Articulo: ".$aviso0.".";
  14.         echo "<textarea id='lotes'>" . $aviso1 . "</textarea>";
  15.    
  16.  
  17.               /*<label>Fecha Ingreso:     </label>
  18.                 <input type='text' id='fechaFactura' name='fechaFactura' value=".$fFact."required/>*/
  19.    
  20. }
  21. }
  22. ?>

Última edición por nataliagb1992; 28/09/2012 a las 11:43
  #5 (permalink)  
Antiguo 28/09/2012, 15:39
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Actualizar formulario e Forma dinámica

Mira te dejo como lo vas a hacer

Supongamos que tu formulario principal se llame cbarras.php

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <script type="text/javascript" src="jquery.js"></script>
  4.         <script>
  5.             $(document).ready(function(){
  6.                 $('#cBar').keypress(function(event){
  7.                     if(event.which == 13){
  8.                         buscar_productos();
  9.                     }
  10.                     event.preventDefault();
  11.                 });
  12.             });
  13.             function buscar_productos(){
  14.                 $.ajax({
  15.                     type: 'POST',
  16.                     url: 'buscarproductos.php',
  17.                     data: {
  18.                         code: $('#cBar').val()
  19.                     },
  20.                     success: function(data){
  21.                         $('#productos tbody').append(data);
  22.                     }
  23.                 });
  24.             }
  25.         </script>
  26.     </head>
  27.     <body>
  28.         <form method="post" action="guardarproductos.php">
  29.             <label>C&oacute;digo de Barras</label>
  30.             <input name="cBar" id="cBar" type="text" size="20" maxlenght="200"/>
  31.             <table id="productos" border="0">
  32.                 <thead>
  33.                     <tr>
  34.                         <td>Codigo</td>
  35.                         <td>Nombre del Producto</td>
  36.                         <td>Descripcion del Producto</td>
  37.                         <td>Familia del Producto</td>
  38.                     </tr>
  39.                 </thead>
  40.                 <tbody>
  41.                    
  42.                 </tbody>
  43.             </table>
  44.              <input id="enviar" name="enviar" type="submit" value="Aceptar" />
  45.         </form>
  46.     </body>
  47. </html>

Luego este el php donde haces la consulta del ajax

Código PHP:
Ver original
  1. <?php
  2.     include_once 'clases/Class_Bd.php';
  3.     $conexion = new Conecta_DB;
  4.     $conexion->conectar();
  5.     $res = $_POST['cBar'];
  6.     $consulta = "SELECT nombre,descripcion,familiaArt FROM altaArticulos WHERE cBarras='$res'";
  7.     $query = $conexion->consultar($consulta);
  8.    
  9.     foreach($query as $row){
  10.         echo '<tr>';
  11.         echo '<td><input type="hidden" name="codigo[]" value="'.$row['cBarras'].'"/>'.$row['cBarras'].'</td>';
  12.         echo '<td>'.$row['nombre'].'</td>';
  13.         echo '<td>'.$row['descripcion'].'</td>';
  14.         echo '<td>'.$row['familia'].'</td>';
  15.         echo '</tr>';
  16.     }
  17.    
  18. ?>

y este sea la pagina en donde vas a procesar tu formulario

Código PHP:
Ver original
  1. <?php
  2.     // esto de va a devolver una array de codigos de productos solamente debes hacer un for al codigo y agregarlos facilmente a tu base de datos
  3.     if(isset($_POST['codigo'])):
  4.         foreach($_POST['codigo'] as $code):
  5.             // recorre aqui todos los codigos y asi lo agregas a tu BD
  6.         endforeach;
  7.     endif;
  8. ?>
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #6 (permalink)  
Antiguo 01/10/2012, 09:50
 
Fecha de Ingreso: septiembre-2012
Ubicación: Sevilla
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Actualizar formulario e Forma dinámica

formulario.php

Código PHP:
Ver original
  1. <?php
  2. header("Content-Type: text/html;charset=utf-8");
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
  6.     <head>
  7.         <title>Entrada de Almacen por Lotes</title>
  8.         <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  9.         <meta http-equiv="Content-Style-Type" content="text/css" />
  10.         <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
  11.         <link rel="stylesheet" type="text/css" media="screen" href="cssPageGrid.css" />
  12.         <link rel="stylesheet" type="text/css" media="screen" href="tema/css/custom-theme/jquery-ui-1.8.23.custom.css" />
  13.         <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />
  14.         <link rel="stylesheet" type="text/css" media="screen" href="css/ui.multiselect.css" />
  15.  
  16.         <script src="js/jquery.min.js" type="text/javascript"></script>
  17.         <script src="js/jquery-ui-custom.min.js" type="text/javascript"></script>
  18.         <script src="js/jquery.layout.js" type="text/javascript"></script>
  19.         <script src="js/i18n/grid.locale-es.js" type="text/javascript"></script>
  20.         <script type="text/javascript">
  21.             $.jgrid.no_legacy_api = true;
  22.             $.jgrid.useJSON = true;
  23.         </script>
  24.         <script src="js/ui.multiselect.js" type="text/javascript"></script>
  25.         <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
  26.         <script src="js/jquery.tablednd.js" type="text/javascript"></script>
  27.         <script src="js/jquery.contextmenu.js" type="text/javascript"></script>
  28.     </head>
  29.     <body>
  30.         <div id="formularioArt">
  31.             <form action="entradaArticulo2.php" method="post" id="formu">
  32.                 <legend>Entrada Almacén</legend>
  33.                 <br/>
  34.  
  35.                 <label>Código de Barras: </label>
  36.                 <input name="cBar" id="cBar" type="text" size="20" maxlenght="200" autofocus/>
  37.                 <br/>
  38.                 <label>Fecha Ingreso: </label>
  39.                 <input type="text" id="fechaFactura" name="fechaFactura" maxlenght="5" required/>
  40.  
  41.  
  42.                 <script>
  43.                     $(function() {
  44.                         $( "#fechaFactura" ).datepicker({
  45.                             showOtherMonths: true,
  46.                             selectOtherMonths: true,
  47.                             dateFormat:'dd/mm/yy',
  48.                             firstday:1
  49.                         });  
  50.                         $('#fecha').datepicker($.datepicker.regional['es']);                                  
  51.                     });
  52.                 </script>
  53.                 <br/> <br/>
  54.                 <textarea id="lotes" >
  55.  
  56.                 </textarea>
  57.                 <script>
  58.                     /*  $(document).ready(function(){
  59.                         $('#cBar').keydown(function(event){
  60.                             if (event.which == 13) {
  61.                                 $.ajax({
  62.                                     url: 'lotes.php',
  63.                                     type: 'POST',
  64.                                     data: 'cBar=' + $(this).val(),
  65.                                     success: function(data){
  66.                                         $('#lotes').html(data);
  67.                                     }
  68.                                 });
  69.                                 event.preventDefault();
  70.                             }
  71.                         });
  72.                     });
  73.                    function ajax(cBar){
  74.      $.post("ajax.php",{cBarras:cBar},function(respuesta){
  75.         jQuery("#resultado").html(respuesta);
  76.     });
  77.     }*/
  78.    
  79.                     $(document).ready(function(){
  80.                         $('#cBar').keypress(function(event){
  81.                             if(event.which == 13){
  82.                                 buscar_productos();
  83.                             }
  84.                             event.preventDefault();
  85.                         });
  86.                     });
  87.                     function buscar_productos(){
  88.                         $.ajax({
  89.                             type: 'POST',
  90.                             url: 'buscarproductos.php',
  91.                             data: {
  92.                                 code: $('#cBar').val()
  93.                             },
  94.                             success: function(data){
  95.                                 $('#productos tbody').append(data);
  96.                             }
  97.                         });
  98.                     }
  99.    
  100.                 </script>
  101.                 <div id="lotes"></div>
  102.                 <br/> <br/>
  103.                 <input id="enviar" name="enviar" type="submit" value="Aceptar" />
  104.             </form>
  105.         </div>
  106.  
  107.     </body>
  108. </html>

lotes.php //es dnde esta el ajax para agregar los codigos de barras

Código PHP:
Ver original
  1. <?php
  2.  
  3. header("Content-Type: text/html;charset=utf-8");
  4. include_once 'clases/Class_Bd.php';
  5. echo " <link rel='stylesheet' type='text/css' media='screen' href='cssPageGrid.css' />";
  6. $conexion = new Conecta_DB;
  7. $conexion->conectar();
  8. $res = $conexion->seguridad($_POST['cBar']);
  9. //echo 'res :'.$res;
  10. $consulta = "SELECT cBarras FROM altaArticulos WHERE cBarras='$res' limit 1";
  11. //echo 'consulta'.$consulta;
  12. $query = $conexion->consultar($consulta);
  13. if ($query) {
  14.     foreach ($query as $row) {
  15.         $aviso0 = $row['cBarras'];
  16.         $aviso1 = "Artículo: " . $aviso0 . ".";
  17.         echo "<textarea id='lotes'>" . $aviso1 . "</textarea>";
  18.  
  19.  
  20.         /* <label>Fecha Ingreso:     </label>
  21.           <input type='text' id='fechaFactura' name='fechaFactura' value=".$fFact."required/> */
  22.     }
  23. }
  24. ?>

entradaArticulos.php //donode debo insertar los articuls ,ahora mismo la tengo como si slo insertara uno
Código PHP:
Ver original
  1. <?php
  2.  
  3. $conexion = mysql_connect("", "", "");
  4. if (!$conexion) {
  5.     echo "Error al intentar conectarse a mysql ";
  6.     exit();
  7. }
  8. if (!mysql_select_db("r", $conexion)) {
  9.     echo "no se pudo conectar correctamente con la base de datos";
  10.     exit();
  11. }
  12. $cdBar = mysql_real_escape_string($_POST['cBar']);
  13. $fFact =mysql_real_escape_string($_POST['fechaFactura']);
  14.  
  15.  
  16. function cambiaamysql($fFact) {
  17.     ereg("([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fFact, $mifecha);
  18.     $lafecha = $mifecha[3] . "-" . $mifecha[2] . "-" . $mifecha[1];
  19.     return $lafecha;
  20. }
  21.  
  22. $lafecha = cambiaamysql($fFact);
  23. $consulta = "insert into entradaAlmacen( codBarras,fechaEntrada) values('$cdBar','$lafecha')";
  24. $query = mysql_query($consulta, $conexion);
  25. if ($query) {//$conexion->insertar($consulta
  26.     header("Location:entradaAlmacen.php");
  27.     $conexion->cerrar();
  28. } else {
  29.     echo $conexion->msgError;
  30. }
  31. ?>
  #7 (permalink)  
Antiguo 01/10/2012, 11:20
 
Fecha de Ingreso: septiembre-2012
Ubicación: Sevilla
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Actualizar formulario e Forma dinámica

me sale error!! mmm
  #8 (permalink)  
Antiguo 03/10/2012, 01:00
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Actualizar formulario e Forma dinámica

Mira mi ejemplo de como lo estoy haciendo desde mi sitio web

http://ldiego.sytes.net/demos/cbarras.php

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: ajax, mysql, php
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 23:47.