PHP - Guardar datos en base de datos usando checkbox

 
Vista:
sin imagen de perfil
Val: 60
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Guardar datos en base de datos usando checkbox

Publicado por carlos (33 intervenciones) el 03/04/2020 16:24:42
Hola amigos, se me presentó un problema al intentar guardar datos de varios checkbox en un campo de una tabla.
La tabla en cuestión la he llamado empleados y tienee3 campos:
id, clave primaria auto increment,
nombre, varchart 20;
estudios, enum 'ninguno','primarios','secundarios','terciarios','universitarios'.
Les comparto el código de ambas páginas y el error que me sale. Dicho error tiene que ver con el argumento de foreach.
He omitido algunas partes de los códigos, como ser datos de conección, etc.
pagina1.php
1
2
3
4
5
6
7
8
9
10
11
<form action="pagina2.php" method="post">
<label for="">Ingrese su nombre:</label>
<p><input type="text" name="nombre"></p>
<label for="">¿Qué estudios tiene?</label>
<p><input type="checkbox" name="check1" value="1">Ninguno</p>
<p><input type="checkbox" name="check1" value="2">Primarios</p>
<p><input type="checkbox" name="check1" value="3">Secundarios</p>
<p><input type="checkbox" name="check1" value="4">Terciarios</p>
<p><input type="checkbox" name="check1" value="5">Universitarios</p>
<p><input type="submit" value="Enviar"></p>
</form>

pagina2.php
1
2
3
4
5
6
7
8
9
10
11
12
$dato2 = $_REQUEST['nombre'];
$nombreSeguro = mysqli_real_escape_string($conexion,$dato2);
if (isset($_REQUEST['check1'])) {
foreach($_REQUEST['check1'] as $check1) {
    $consulta = mysqli_query($conexion,"INSERT INTO empleados (nombre,estudios) VALUES('$nombreSeguro','$check1')");
}
}
$registros=mysqli_query($conexion,"select * from empleados") or
  die("Problemas en el select:".mysqli_error($conexion));
  while ($reg=mysqli_fetch_array($registros)) {
echo '<p>'."Nombre: ".$reg['nombre']." Estudios: ".$reg['estudios'].'</p>';
}
Mensaje de error:
Warning: Invalid argument supplied for foreach()
Bueno, espero me puedan ayudar. Desde ya muchas gracias.
Saludos cordiales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar datos en base de datos usando checkbox

Publicado por Julio (830 intervenciones) el 03/04/2020 17:17:00
Hola.

El name del input checkbox tiene que ser un array, si no creerá que es sólo un valor. Es decir:

1
name="check1[]"

En todos ellos.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar