PHP - Insertar una Variable con un Array a MySQL

 
Vista:

Insertar una Variable con un Array a MySQL

Publicado por Cristhian12 (1 intervención) el 30/06/2022 20:09:53

Buenas tardes, Quiero agregar una Variable que contiene un array, los datos del array son obtenido mediante una serie de inputs creado mediante ajax y un for, al momento de ingresar la variable a mysql solo me captura el ultimo dato ingresado, quisiera saber cual es el error o quizás falta agregar algún tipo de parametro.




prueba.php



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
if(isset($_POST['add_medidor'])){
$req_fields = array('nguia','fase','fecharegistro','serie');
 
    if(empty($errors)){
      $nguia      = $db->escape($_POST['nguia']);
      $fase     = $db->escape($_POST['fase']);
      $fechareg      = $db->escape($_POST['fecharegistro']);
      $resultado = $_POST['serie'];
      foreach ($resultado as $valor){
       echo $valor;
      $serie=$valor;
 
      $sql  = "INSERT INTO medidores (";
      $sql .= " nguia,fase,fecharegistro,serie";
      $sql .= ") VALUES (";
      $sql .= "'{$nguia}','{$fase}','{$fechareg}','{$serie}'";
      $sql .= ")";}
      }
     }
 
     <form method="post" action="add_medidor.php">
     <table class="table table-bordered">
       <thead>
      <tr>
          <th>N° de Guia</th>
          <th>Fase</th>
          <th>Fecha de Registro</th>
      </tr>
      <tr>
          <td><input type="text" autocomplete="off" class="form-control" name="nguia" placeholder="N° de Guia"></td>
          <td><select class="form-control" name="fase">
          <option value="Monofasico">Monofásico</option>
          <option value="Trifasico">Trifásico</option>
          </select></td>
          <td><input type="text" autocomplete="off" class="datepicker form-control" name="fecharegistro" placeholder="Fecha de Registro"></td>
      </tr>
 
       </thead>
         <tbody  id="product_info"> </tbody>
     </table>
     <div class='link' onClick="realizaProceso($('#cantidad').val());return false;">
    <strong>
      <span>Ingrese la Cantidad de Medidores a Ingresar</span>
   </strong>
   <br>
 
<input type="text" placeholder="Cantidad de Medidores" autocomplete="off" name="cantidad" id="cantidad" class="form-control" style="width : 300px; heigth : 300px"/></div></th>
<br>
 
 <script type='text/javascript'>
    function realizaProceso(valor1){
    var parametros = {
            "valor1" : valor1
    };
    $.ajax({
 
            data:  parametros,
            url:   'proceso.php',
            type:  'post',
 
            beforeSend: function () {
                    $("#resultado").html("Procesando, espere por favor...");
            },
 
            success:  function (response) {
                    $("#resultado").html(response);
            }
    });
    } </script>
 
    <div class='link' id="resultado"> Ingrese Medidores: </div>
    <br>
    <button onClick="return confirm('Estas seguro de Agregar?');" type="submit"
    name="add_medidor"
    class="btn btn-danger">Agregar Medidores</button>
   </form>

proceso.php



1
2
3
4
5
6
7
8
9
10
11
12
<?php
   if(isset($_POST["valor1"]))
    {
   $resultado = $_POST['valor1'];
   for($i=1;$i<=$resultado;$i++){
   ?>
   <tr>
   <td><strong>Serie <?php echo $i; ?>   </strong></td>
   <td><input placeholder="Serie" autocomplete="off" name="serie[]" id="serie" type="text"
   size="30" maxlength="30" class="form-control"></td>
   </tr>
   <?php } }?>

Todo parte de prueba.php, mediante el Ajax que es proceso.php se crean los inputs en el mismo prueba.php y activar el boton del form agrega solo el ultimo de los digitos digitados en los inputs creados.

ejemplo: si en cantidad de inputs se digita 3, se crean 3 inputs en los cuales se digitan los valores, 32, 44 y 55 y al momento de activar el boton solo digita en la base de datos una fila con el valor 55

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Insertar una Variable con un Array a MySQL

Publicado por Alejandro (839 intervenciones) el 05/07/2022 17:08:10
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Veo que creas el query dentro del foreach, la sentencia "$sql =" reemplaza lo que contenga la variable, por eso al terminar de iterar solo te queda el ultimo insert.

Por otra parte no se ve donde se ejecuta el query.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar