Go through a table in php with checkbox

0

I have the following problem, I am generating an attendance record

To load this information I have a sentence to take the fields I generate it in the following way

 while($fila = $da4->fetch(PDO::FETCH_ASSOC)){  ?>
                <tr>
                    <td><?php echo utf8_encode($fila['nombre']); ?></td> 
                    <td><?php echo  utf8_encode($fila['RUT']); ?></td>        

                    <input type="hidden" name="nombre[]" value="<?php echo utf8_encode($fila['nombre']); ?>">
                    <input type="hidden" name="rut[]" value="<?php echo  utf8_encode($fila['RUT']); ?>">
                    <?php if ($fila['ASISTEN'] == S) { ?> <td><input type="checkbox" name="check[]" 
                     value="<?php echo $fila['ASISTEN']; ?>" checked ></td> <?php }else{ ?>
                    <td><input type="checkbox" name="check[]" value="N"  ></td><?php } ?>
                </tr>
            <?php } ?>

But when I want to save it in my database

if(!empty($_POST))
{ 



$usuario = $_POST['nombre'];
$rut = $_POST['rut'];
$check = $_POST['check'];   
$fecha = $_POST['dtFecha'];
$hora = $_POST['dthora'];
$numCon = $_POST['numConv'];
$fechVar = $_POST['dtFechaSet'];

$sql = $conn->query("SELECT PERIODO FROM  PERIODOS_OTROS where vigente = 1 ");
$data = $sql->fetch(PDO::FETCH_ASSOC);
$perVigente = $data['PERIODO'];

$resp = $conn->query("SELECT count(*) AS VALOR FROM ASISALUMNOS WHERE NCONVENIO = '$numCon' AND PERIODO='$perVigente' 
                     AND FECHA =CONVERT(VARCHAR(11),'$fecha',103) AND CURSO='$asignatura' ");
$numero =  $resp->fetch(PDO::FETCH_ASSOC);
$count = $numero['VALOR'];

if ($count > 0){
    //$cant2 = count($usuario)
}
else{
$cant = count($usuario);   
    if($cant > 0){
    for ($i=0; $i<$cant; $i++){

         print "INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio)
    VALUES('$perVigente','$asignatura','$rut[$i]','$check[$i]', '$fecha', '$hora','$numCon')<br>";

    }            
}   

}
}

?>

If I select all the check it takes well, but if I uncheck for example COL85 which is the second record, it takes me the last one to send the print of what the insert takes me

INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio) VALUES('201802','TA0101','COL2014020029','S', '2018-10-18', '12:07:28','2713')
INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio) VALUES('201802','TA0101','COL2016010085','S', '2018-10-18', '12:07:28','2713')
INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio) VALUES('201802','TA0101','COL2017010015','S', '2018-10-18', '12:07:28','2713')
INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio) VALUES('201802','TA0101','COL2017010332','S', '2018-10-18', '12:07:28','2713')
INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio) VALUES('201802','TA0101','COL2012010061','S', '2018-10-18', '12:07:28','2713')
INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio) VALUES('201802','TA0101','COL2017010073','S', '2018-10-18', '12:07:28','2713')
INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio) VALUES('201802','TA0101','COL2017010072','S', '2018-10-18', '12:07:28','2713')
INSERT INTO ASISALUMNOS(PERIODO,CURSO,MATRICULA,ASISTEN,FECHA,hora_entrada,nconvenio) VALUES('201802','TA0101','COL2016020025','', '2018-10-18', '12:07:28','2713')
    
asked by Gacitua 18.10.2018 в 17:58
source

0 answers