Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2015, 15:50
Avatar de lmarin2008
lmarin2008
 
Fecha de Ingreso: junio-2015
Ubicación: Medellin Colombia
Mensajes: 7
Antigüedad: 9 años, 7 meses
Puntos: 0
Pregunta Como insertar campos Múltiples

Hola Buenas tardes soy bastante nuevo en el foro, y espero poder ayudar en lo que pueda y que me ayuden en lo que puedan, tengo un formulario dinámico con el cual espero agregar campos dinámicamente según la necesidad del usuario, pero no logro hacer la inserción a la base de datos, pues siempre se me toma es el ultimo archivo les dejo copia de mi trabajo:
Código HTML:
Ver original
  1.     <title>Dinamicos</title>
  2.     <link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
  3.     <link href="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/validationEngine.jquery.css" rel="stylesheet">
  4.     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  5.     <script src="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/jquery.validationEngine.min.js"></script>
  6.     <script src="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/languages/jquery.validationEngine-es.js"></script>
  7.     <style>
  8.         .top-buffer {
  9.             margin-top:20px;
  10.         }
  11.     </style>
  12. </head>
  13. <body>
  14.  
  15. </head>
  16. <div id="container ">
  17.     <div class="row-fluid top-buffer">
  18.         <div class="col-lg-6 col-lg-offset-3 text-center">
  19.             <form id="miform" method="post" name="miform" >
  20.                 <table id="tblprod" class="table table-hover table-bordered">
  21.                       <thead>
  22.                         <tr>
  23.                           <th>Codigo Producto</th>
  24.                           <th>Nombre</th>
  25.                           <th>Precio</th>
  26.                           <th>Cantidad</th>
  27.                         </tr>
  28.                       </thead>
  29.                       <tbody>
  30.                         <tr>
  31.                           <td>1</td>
  32.                                 <td>
  33.                                 <div class="form-group col-lg-12">  
  34.                                     <input class="form-control validate[required]"name="prod[]" />
  35.                                 </div>
  36.                                 </td>
  37.                                 <td>
  38.                                 <div class="form-group col-lg-13">  
  39.                                     <input class="form-control validate[required]"name="valor[]" />
  40.                                 </div>
  41.                                 </td>
  42.                                 <td>
  43.                                 <div class="form-group col-lg-14">  
  44.                                     <input class="form-control validate[required]"name="cant[]" />
  45.                                 </div>
  46.                                 </td>
  47.                         </tr>
  48.  
  49.                       </tbody>
  50.                     </table>
  51.                     <button id="btnadd" class="btn btn-primary">Agregar Nuevo</button>
  52.                     <button id="btnsubmit" type="submit" class="btn btn-success">Guardar</button>
  53.             </form>
  54.         </div>
  55.     </div>
  56. </div>
  57.  
  58. <script type="text/javascript">
  59. $(function() {
  60.     var count = 1;
  61.     jQuery("#miform").validationEngine({promptPosition : "centerRight:0,-5"});
  62.    
  63.    $(document).on("click","#btnadd",function( event ) {  
  64.       count++;
  65.       $('#tblprod tr:last').after('<tr><td>'+count+'</td><td><div class="form-group col-lg-12"><input class="form-control validate[required]"name="prod[]" /></div></td><td><div class="form-group col-lg-13"><input class="form-control validate[required]"name="valor[]" /></div></td><td><div class="form-group col-lg-14"><input class="form-control validate[required]"name="cant[]" /></div></td></tr>');
  66.       event.preventDefault();
  67.    });
  68.    
  69.    $( "#miform" ).submit(function( event ) {
  70.           var frm = $(this);
  71.       var formulario = $(this).serialize();
  72.      
  73.       if($('#miform').validationEngine('validate')){
  74.       $.post( "guardar.php", formulario)
  75.                 .done(function(data){
  76.                   alert(data);
  77.               $(frm)[0].reset();
  78.             })
  79.             .fail(function() {
  80.             alert( "error no pude enviar los datos" );
  81.             });
  82.       }
  83.       event.preventDefault();
  84.     });
  85.  
  86. });
  87.     </script>
  88.  
  89. </body>

el codigo de mi archivo guardar es el siguiente

Código PHP:
if(isset($_POST['prod']) && !empty($_POST['prod'])){
        

        foreach (
array_keys($_POST['prod']) as $i

     
// Acá usamos los campos. 
     
$prod=$_POST['prod'][$i];
     
$var=$_POST['valor'][$i];
     
$cant=$_POST['cant'][$i];
     echo 
$prod;
     echo 
$var
     echo 
$cant

}
    
}else{
  echo 
'failed';
  
}
        
$sql="insert into prueba(prod, val, cant)
            values('$prod', '$var', '$cant')"
;
            
$rest mysql_query($sql);