Buenas, tengo una form de varias líneas, con un check de pagos, y quiero que sólo se inserten los datos donde el check este marcado.
el form:
form action='administrar_libro.php' method='post'>
<p>Selecciona Fecha: <input type="text" id="datepicker" name='date' required></p>
<table border=1>
<head>
<td>Idalumno</td>
<td>Nombre</td>
<td>Apellidos</td>
<td>Pago</td>
</head>
<body>
<?php foreach ($libro as $libro4) {?>
<tr>
<td> <input type='text' name='id[]' value='<?php echo $libro4->getId()?>'></td>
<td> <input type='text' name='nombre[]' value='<?php echo $libro4->getNombre()?>'></td>
<td> <input type='text' name='apellidos[]' value='<?php echo $libro4->getApellidos()?>'></td>
<td><input type='checkbox' id = 'check' name='pago[]' value="pagado"></td>
</tr>
<?php }?>
</body>
<input type='hidden' name='pagos[]' value='pagos' >
</table><BR><br>
luego los recibo en mi php administrar_libros.php
}elseif(isset($_POST['pagos'])){
if ( !empty($_POST["pagos"]) && is_array($_POST["pagos"]) ) {
for($i=0, $t=count($_POST['nombre']); $i<$t; $i++){
$libro4->setNombre($_POST['nombre'][$i]);
$libro4->setApellidos($_POST['apellidos'][$i]);
$libro4->setPago($_POST['pago'][$i]);
$libro4->setId($_POST['id'][$i]);
$libro4->setFecha($_POST['date']);
$crud->pagos($libro4);
//llama a la función asistencia definida en el crud
echo '<div class="alert alert-success">Has registrado correctamente la asistencia del día.</div>';
echo "<a href='index.php'>Volver</a> ";
print "<pre>"; print_r($_REQUEST); print "</pre>\n";
public function pagos($libro4){
$db=Db::conectar();
// $db->beginTransaction();
// $asistencialibros=[];
$insert=$db->prepare('INSERT INTO pagos values (NULL,:nombre,:apellidos,:pago,:id, :date)');
// foreach ($libro as $libro2) {
$insert->bindvalue('nombre',$libro4->getNombre());
$insert->bindvalue('apellidos',$libro4->getApellidos());
$insert->bindvalue('pago',$libro4->getPago());
$insert->bindvalue('id',$libro4->getId());
$insert->bindvalue('date',$libro4->getFecha());
//
$insert->execute();
}
}
y los inserto:
public function pagos($libro4){
$db=Db::conectar();
// $db->beginTransaction();
// $asistencialibros=[];
$insert=$db->prepare('INSERT INTO pagos values (NULL,:nombre,:apellidos,:pago,:id, :date)');
// foreach ($libro as $libro2) {
$insert->bindvalue('nombre',$libro4->getNombre());
$insert->bindvalue('apellidos',$libro4->getApellidos());
$insert->bindvalue('pago',$libro4->getPago());
$insert->bindvalue('id',$libro4->getId());
$insert->bindvalue('date',$libro4->getFecha());
//
$insert->execute();