Foros del Web » Programando para Internet » PHP »

guardado de registro en php

Estas en el tema de guardado de registro en php en el foro de PHP en Foros del Web. buenos dias, hace tiempo pregunte si se podía hacer un formulario donde podía agregar inputs para guardar varios registros a la vez con lo que ...
  #1 (permalink)  
Antiguo 17/03/2016, 09:36
 
Fecha de Ingreso: febrero-2016
Mensajes: 31
Antigüedad: 8 años, 4 meses
Puntos: 0
guardado de registro en php

buenos dias, hace tiempo pregunte si se podía hacer un formulario donde podía agregar inputs para guardar varios registros a la vez con lo que me pasan un ejemplo de este y lo utilice, lo modifique acorde a mis campos de mi base de datos y quedo de la siguiente manera:
Código PHP:
Ver original
  1. <div id="stylized" class="myform">
  2.  
  3. <form id="form" name="form" method="POST" action="insertar_registro.php">
  4. <div id="material_pedido"></div>
  5.  
  6. <label>Clave del Empleado:</label><select id="empleado" name="idemp[]" style="width:50px;"></select><span style="float:left;padding:8px 0px 8px 8px;">
  7. Nombre del Empleado:</span><select id="no_empl"></select><span style="float:left;padding:8px 0px 8px 8px;">
  8. Area del Solicitante:</span><select id="area" style="width:150px;" /><span style="float:left;padding:8px 0px 8px 8px;">
  9. Fecha de la Solicitud:</span><?php $fecha= date("Y-m-d"); ?><!--=== sirve para obtener la fecha del equipo automaticamente ===-->
  10. <input type="date" name='fecha_sol' required value="<?php echo $fecha; ?>" readonly style="width:119px;"/><span style="float:left;padding:8px 0px 8px 8px;"></span>
  11.  
  12. <h1>Articulo a pedir</h1>
  13. <p>Puede añadir mas de 1 pedido si asi lo decea</p>
  14. <div id="div_1">
  15. <label>Clave producto:</label><input type="text" name="clave[]" id="clave1" style="width:50px;" value="<?php echo $row ['id_producto']; ?>"/><span style="float:left;padding:8px 0px 8px 8px;">
  16. Producto:</span><input type="text" name="producto[]" style="width:90px;" value="<?php echo $row ['nombre_produc']; ?>"/><span style="float:left;padding:8px 0px 8px 8px;">
  17. Marca:</span><input type="text" name="marca[]" style="width: 80px;" value="<?php echo $row ['marca']; ?>"/><span style="float:left;padding:8px 0px 8px 8px;">
  18. Cantidad:</span><input type="number" name="cantidad[]" style="width:30px;" /><input class="bt_plus" id="1" type="button" value="+" /><div class="error_form"></div>
  19. </div>
  20. <br>
  21. <br>
  22. <button type="submit" name="submit" class="boton">Enviar</button>
  23. </form>
  24. </div>
en este codigo solamente quiero guardar los campos "clave empleado", "clave producto", "producto", "marca" y "cantidad", pero cuando agrego mas, solamente me guarda los primeros input y no los otros 2 o 3 que agrego para guardar mas de 1 a la vez el codigo que me mostraron es el siguiente
Código PHP:
Ver original
  1. <?php
  2.         include("php/conexion.php");
  3.    
  4.     if (isset($_POST['clave'])) {
  5.       $clave = $_POST['clave'];
  6.     }else{
  7.       $clave="";
  8.     }
  9.  
  10.     if (isset($_POST['idemp'])) {
  11.       $idemp = $_POST['idemp'];
  12.     }else{
  13.       $idemp ="";
  14.     }
  15.  
  16.     if (isset($_POST['producto'])) {
  17.       $producto = $_POST['producto'];
  18.     }else{
  19.       $producto="";
  20.     }
  21.  
  22.     if (isset($_POST['marca'])) {
  23.       $marca =$_POST['marca'];  
  24.     }else{
  25.       $marca="";
  26.     }
  27.  
  28.     if (isset($_POST['cantidad'])) {
  29.       $cantidad =$_POST['cantidad'];
  30.     }else{
  31.       $cantidad="";
  32.     }
  33.    
  34.     if (isset($_POST['area_sol'])) {
  35.       $area_sol = $_POST['area_sol'];
  36.     }else{
  37.       $area_sol="";
  38.     }
  39.     if (isset($_POST['fecha_sol'])) {
  40.       $fecha_sol = $_POST['fecha_sol'];
  41.     }else{
  42.       $fecha_sol="";
  43.     }
  44.  
  45. /*esta parte es la me mostraron, pero me guarda solamente 1 registro como ya comente lineas arriba*/
  46.     for($i=0; $i < count($clave); $i++) {
  47.       $idemp = $_POST['idemp'][$i];
  48.       $clave = $_POST['clave'][$i];
  49.       $producto = $_POST['producto'][$i];
  50.       $marca = $_POST['marca'][$i];
  51.       $cantidad = $_POST['cantidad'][$i];
  52.       $fecha_sol = $_POST['fecha_sol'][$i];
  53.    
  54.  
  55.     $query1 ="INSERT INTO detalle(id_pedidos, id_producto, producto, marca, cantidad, fecha_solicitud)
  56.    VALUES('$idemp', '$clave', '$producto', '$marca', '$cantidad', '$fecha_sol')";
  57.     $resultado=mysqli_query($conexion, $query1);
  58.  
  59.    
  60.    
  61.   }
  62.   ?>
mi pregunta es porque solamente me guarda solo 1 registro y no los demas que agrego? espero puedan ayudarme ya que no se mucho de php
  #2 (permalink)  
Antiguo 17/03/2016, 10:56
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años
Puntos: 263
Respuesta: guardado de registro en php

todo depende de como estes cargando los datos, es decir, realiza una impresion con el codigo php en la consola y verifica que esta llegando, ya que veo que estas cargando el valor de los imputs desde variables php y eso te va a dar problemas ya que dinamicamente no lo va a hacer, ayudate con la consola del navegador para ver donde tienes problemas y si se estan cargando los datos en todos los inputs, ya que el php que guarda esta bien hasta donde se ve
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 17/03/2016, 13:27
 
Fecha de Ingreso: febrero-2016
Mensajes: 31
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: guardado de registro en php

Cita:
Iniciado por xfxstudios Ver Mensaje
todo depende de como estes cargando los datos, es decir, realiza una impresion con el codigo php en la consola y verifica que esta llegando, ya que veo que estas cargando el valor de los imputs desde variables php y eso te va a dar problemas ya que dinamicamente no lo va a hacer, ayudate con la consola del navegador para ver donde tienes problemas y si se estan cargando los datos en todos los inputs, ya que el php que guarda esta bien hasta donde se ve
ya mire en la consola asi como me dices, cuando agrego datos a los input no me sale nada en la consola del navegador pero me guarda el primer registro, crees que tenga error en en la pestaña js donde hace que me agrege input?

este es el codigo
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $(".bt_plus").each(function (el){
  3.         $(this).bind("click",addField);
  4.     });
  5. });
  6.  
  7. function addField(){
  8.     //el id del elemento div qutandole la palabra "div_" de delante. para asi aumentar el numero.
  9.     var clickID = parseInt($(this).parent('div').attr('id').replace('div_',''));
  10.     //Se genera el nuevo id
  11.     var newID = (clickID+1);
  12.     //Se crea un clon del elemento div que contiene los campos de texto
  13.     $newClone = $('#div_'+clickID).clone(true);
  14.     //Se le asigna el nuevo numero id
  15.     $newClone.attr("id",'div_'+newID);
  16.     //se le asigna nuevo id al primer campo input dentro del div y le borro cualquier valor que tenga, asi no copia lo ultimo que hayas escrito.
  17.     //(igual que antes no es necesario tener un id)
  18.     $newClone.children("input").eq(0).attr("id",'clave'+newID).val('');
  19.     //Se borra el valor del segundo input(campo de cantidad)
  20.     $newClone.children("input").eq(1).val('');
  21.     //Se asigna el nuevo id al boton
  22.     $newClone.children("input").eq(4).attr("id",newID)
  23.     //Se inserta el div clonado y modificado despues del div original
  24.     $newClone.insertAfter($('#div_'+clickID));
  25.     //Se cambia el signo "+" por el signo"-" y se quita el evento addfield
  26.     $("#"+clickID).val('-').unbind("click",addField);
  27.     //Se cambia el signo del evento delRow para que borre la fila en caso de hacer click
  28.     $("#"+clickID).bind("click",delRow);
  29. }
  30.  
  31. function delRow(){
  32.     //Esta funcion destruye el elemento actual una vez echo el click
  33.     $(this).parent('div').remove();
  34. }
  #4 (permalink)  
Antiguo 17/03/2016, 18:04
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años
Puntos: 263
Respuesta: guardado de registro en php

te comento algo, si estas cargando los datos en los inputs desde una consulta hecha a php al momento de cargar la pagina, solo se va a cargar en el primer input que creas, porque php ya se ejecutó.

Parece un sistema de facturación lo que haces, casualmente yo estoy en lo mismo, bueno, lo que yo hago es cargar los datos del producto mediante una consulta de ajax, modifico lo que necesite y lo agrego a la lista y así sucesivamente con cada producto, creo es la unica manera y mas practica de hacerlo
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 18/03/2016, 09:51
 
Fecha de Ingreso: febrero-2016
Mensajes: 31
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: guardado de registro en php

Cita:
Iniciado por xfxstudios Ver Mensaje
te comento algo, si estas cargando los datos en los inputs desde una consulta hecha a php al momento de cargar la pagina, solo se va a cargar en el primer input que creas, porque php ya se ejecutó.

Parece un sistema de facturación lo que haces, casualmente yo estoy en lo mismo, bueno, lo que yo hago es cargar los datos del producto mediante una consulta de ajax, modifico lo que necesite y lo agrego a la lista y así sucesivamente con cada producto, creo es la unica manera y mas practica de hacerlo
como que cargas los datos? los haces que aparezcan en los inputs o a que te refieres con eso?
  #6 (permalink)  
Antiguo 18/03/2016, 13:42
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años
Puntos: 263
Respuesta: guardado de registro en php

tengo un formulario en el que en un input coloco el codigo del producto y con onChange ejecuto una función ajax que hace la petición a php para traer la informacion sobre ese producto (nombre, precio, cantidad, etc etc), luego alli coloco la cantidad de items que el cliente esta solicitando, aplico un descuento si se da el caso y al presionar el botón agregar este inserta una fila dinámicamente en la tabla y así con cada ítem de la compra, de esa manera ejecuto una funcion de facturacion como cualquier otro programa de escritorio, claro hay otras cositas por allio pero esa es la base
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 04/04/2016, 09:24
 
Fecha de Ingreso: febrero-2016
Mensajes: 31
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: guardado de registro en php

Cita:
Iniciado por xfxstudios Ver Mensaje
tengo un formulario en el que en un input coloco el codigo del producto y con onChange ejecuto una función ajax que hace la petición a php para traer la informacion sobre ese producto (nombre, precio, cantidad, etc etc), luego alli coloco la cantidad de items que el cliente esta solicitando, aplico un descuento si se da el caso y al presionar el botón agregar este inserta una fila dinámicamente en la tabla y así con cada ítem de la compra, de esa manera ejecuto una funcion de facturacion como cualquier otro programa de escritorio, claro hay otras cositas por allio pero esa es la base
perdon por no responder, como seria el onchange para traer dichos datos a los input y asi guardarlos ¿me podrias mostrar el codigo?, claro si es posible

Etiquetas: fecha, formulario, guardado, registro, select, sql
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 03:55.