PHP - insertar multiples registros al seleccionarlos con checkbox

 
Vista:
Imágen de perfil de Alberto

insertar multiples registros al seleccionarlos con checkbox

Publicado por Alberto (9 intervenciones) el 30/08/2022 00:09:29
Buen dia

Estoy realizando el siguiente inserto a mi DB,todo bien me inserta el dato de todos los que selecciono mediante el check box si seleccion 3 los 3 registros los inserta el problema es que deberia registrarmelo con diferente numero de empleado pero me toma el valor del ultimo numero de empleado no me toma en cuenta los demas al principio solo realizaba un registro de los 3 seleccionados lo solucione y despues no guardaba el numero de empleado y lo arregle pero ahora solo guarda un solo numero de empleado

Me podrian orientar para saber que es lo que tengo mal redactado en mi codigo o que parte fue la que hice mal

El valor del numero de empleado lo tomo de un input que tengo oculto el cual me da el mismo valor que la columna codigo_persona

Codigo Formulario :
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
77
78
79
80
81
82
83
84
<tr>
  <td>Certificacion:</td>
  <!-- Campo de texto combinado con lista de opciones -->
  <td>
    <input type="text" name="certi" list="items" autocomplete="off" />
    <!-- Lista de opciones -->
    <datalist id="items">
   <option value="Montacargas">Montacargas</option>
    <option value="Navaja">Navaja</option>
    <option value="Uso de pallet jack">Uso de pallet jack</option>
    <option value="Electroestatica">Electroestatica</option>
    <option value="Quimicos">Quimicos</option>
   </datalist>
  </td>
 
  <td>Fecha de certificacion</td>
  <td>
    <input type="date" name="fechaCer" id="" />
  </td>
  <td>Fecha de vencimiento</td>
 
  <td>
    <input type="date" name="fechaVen" id="" />
  </td>
</tr>
 
<br></br>
<br></br>
<table id="employee_data" class="table table-bordered table-striped">
 
  <thead>
    <tr>
      <th> </th>
      <th hidden> </th>
      <th>Numero Reloj</th>
      <th>Nombre</th>
      <th>Puesto</th>
      <th>Categoria</th>
      <th>Departamento</th>
      <th>Turno</th>
    </tr>
  </thead>
 
  <tbody>
 
    <?php
 
       $fecha_actual = new DateTime(date('Y-m-d'));
 
       while($row = mysqli_fetch_array($result)){
 
       $id=$row['id_emp'];
 
    ?>
 
      <tr>
        <td><input type="checkbox" name="id[]" value="<?php echo $row['id_emp']; ?>" /></td>
        <td hidden><input type="text" name="nr" value="<?php echo $row['codigo_persona']; ?>" /></td>
        <td align=center>
          <?= $row['codigo_persona'] ?>
        </td>
        <td align=center>
          <?= $row['Nombre'] ?>
        </td>
        <td align=center>
          <?= $row['Puesto'] ?>
        </td>
        <td align=center>
          <?= $row['Categoria'] ?>
        </td>
        <td align=center>
          <?= $row['Departamento'] ?>
        </td>
        <td align=center>
          <?= $row['Turno'] ?>
        </td>
      </tr>
 
      <?php
         }
      ?>
  </tbody>
</table>
<input type="submit" name="submit" value="Registrar" />

Codigo post:

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
<?php
if (isset($_POST['submit'])){
 
 
$id=$_POST['id'];
$count = count($id);
$noreloj=$_POST['nr'];
$cer=$_POST['certi'];
$fech=$_POST['fechaCer'];
$ven=$_POST['fechaVen'];
 
 
for ($i=0; $i < $count; $i++) {
 
    $llenar=  strlen($cer) * strlen($fech) * strlen($ven) * strlen($noreloj);
 
    if($llenar >0){
        require("validate.php");
        mysqli_query($link,"INSERT INTO certificaciones (Certificacion,Fecha_Cert,Fecha_Ven,empleado_id) VALUES ('$cer','$fech','$ven','$noreloj')")or die ("Error:No se ingresaron los datos:");
        mysqli_close($link);
             ?>
        <script>
        alert("Se ha registrado exitosamente");
        window.location.href='./../work/certifications.php';
        </script>
        <?php
 
    }
 
    else{
        ?>
        <script>
        alert("Faltan datos por llenar");
        window.location.href='./../work/certifications.php';
        </script>
        <?php
    }
 
}
 
}
 
 
?>
Imagen table
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