Código :
<?php
while ($result = mysqli_fetch_array($query)) {
$idFrequencia = $result['idFrequencia'];
$nomeOficina = utf8_encode($result['nomeOficina']);
$nomeParticipante = utf8_encode($result['NomeParticipante']);
$precenca = utf8_encode($result['precenca']);
?>
<td><?php echo $idFrequencia; ?></td>
<td><?php echo $nomeParticipante; ?></td>
<input type="hidden" name="idFrequencia[]" value="<?php echo $idFrequencia; ?>">
<td><input type="checkbox" class="checkbox" name="precenca[]" value="1"></td>
</tr>
<?php } ?>
Quiero generar un update para cada registro de la tabla.
lo que pasa es que al no seleccionar alguno de los checkbox los arrays quedan de diferente dimensión.
Código :
$idFrequencia = isset($_POST['idFrequencia']) ? $_POST['idFrequencia'] : null;
$precenca = isset($_POST['precenca']) ? $_POST['precenca'] : null;
$idFrequenciaPrecenca = array_combine(array_intersect_key($idFrequencia, $precenca), array_intersect_key($precenca, $idFrequencia));
foreach($idFrequenciaPrecenca as $key => $value) { //recorro el array
if (!empty($key) || !empty($value)) {$sql=sprintf("UPDATE frequencia SET precenca = %d WHERE idFrequencia = %d;", trim($value), trim($key));}
$sqls[$i] = $sql;
$i++;
}
al no seleccionar un checkbox los arrays quedan asi:
Array1
(
[0] => 5
[1] => 6
[2] => 7
)
Array2
(
[0] => 1
[1] => 1
)
lo cual hace que modifique un registro que no debería ser modificado.
como puedo hacer para que los arrays tengan una misma dimensión?
o alguna otra solucion para generar los UPDATES?
Desde ya gracias!
