
Enviar datos de multiple checkbox a base de datos
Publicado por jesus (11 intervenciones) el 06/03/2020 19:31:38
Buenas tardes,
Me gustaría podes enviar datos multiples de un checkbox que tengo en un HTML a la base de datos.
Mi código es el siguiente:
-------En el HTML-----------
----------------------------
con un botón llamo a al siguiente php
---------------------------
----------------------------------------
Finalmente intento enviarlo a la base de datos con este php
----------------------------------------
-------------------------------------------------
Tengo la conexión creada y no me da problemas. Los demás campos los envía correctamente, incluso si a un checkbox le pongo directamente sin corchetes
me guarda el valor que tenga dicho checkbox
Si les pongo los corchetes a todos, llamándolos calificacion[], me inserta array.
No se que más intentar.
Muchas gracias de antemano.
PD. Soy novato ;)
Me gustaría podes enviar datos multiples de un checkbox que tengo en un HTML a la base de datos.
Mi código es el siguiente:
-------En el HTML-----------
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
<form id="frmnuevo">
<label>Nombre</label>
<select class="form-control input-sm" id="nombre" name="nombre">
<option value="0">Selecciona una opcion</option>
<option value="Bloque 1">Bloque 1</option>
<option value="Bloque 2">Bloque 2</option>
<option value="Bloque 3">Bloque 3</option>
<option value="Bloque 4">Bloque 4</option>
</select>
<label>Año</label>
<div class="modal-content2"
id="anio"></div>
<label>Empresa</label>
<input type="text" class="form-control input-sm" id="empresa" name="empresa">
<label>Calificación</label>
<form action="index.php" method="post">
<label class="heading">Fallos</label>
<div class="checkbox">
<label><input type="checkbox" name="calificaciones[]" value="Sin Fallos">Sin Fallos</label>
<label><input type="checkbox" name="calificaciones[]" value="Suelo">Suelo</label>
<label><input type="checkbox" name="calificaciones[]" value="Cama">Cama</label>
</div>
</form>
----------------------------
con un botón llamo a al siguiente php
---------------------------
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
<?php
require_once "../clases/conexion.php";
require_once "../clases/crud.php";
$obj= new crud();
$calificacion=$_POST["calificaciones"];
for ($i=0;$i<count($calificacion);$i++)
{
echo "<br> calificaciones" . $i . ": " . $calificacion[$i];
}
$datos=array(
$_POST['nombre'],
$_POST['anio'],
$_POST['empresa'],
$_POST['calificacion']
);
echo $obj->agregar($datos);
?>
----------------------------------------
Finalmente intento enviarlo a la base de datos con este php
----------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
class crud{
public function agregar($datos){
$obj= new conectar();
$conexion=$obj->conexion();
$sql="INSERT into t_juegos (nombre,anio,empresa,calificacion)
values ('$datos[0]',
'$datos[1]',
'$datos[2]',
'$datos[3]')";
return mysqli_query($conexion,$sql);
}
?>
-------------------------------------------------
Tengo la conexión creada y no me da problemas. Los demás campos los envía correctamente, incluso si a un checkbox le pongo directamente sin corchetes
1
<label><input type="checkbox" name="calificacion" value="Sin Fallos">Sin Fallos</label>
me guarda el valor que tenga dicho checkbox
Si les pongo los corchetes a todos, llamándolos calificacion[], me inserta array.
No se que más intentar.
Muchas gracias de antemano.
PD. Soy novato ;)
Valora esta pregunta


0