Foros del Web » Programando para Internet » PHP » CodeIgniter »

Insertar array con solo lo seleccionado en el check

Estas en el tema de Insertar array con solo lo seleccionado en el check en el foro de CodeIgniter en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 28/03/2022, 04:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 56
Antigüedad: 16 años, 4 meses
Puntos: 1
Insertar array con solo lo seleccionado en el check

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();

Etiquetas: seleccionado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:00.