Foros del Web » Programando para Internet » PHP »

Guardar datos obtenidos de un checkbox a una base de datos mysql

Estas en el tema de Guardar datos obtenidos de un checkbox a una base de datos mysql en el foro de PHP en Foros del Web. Hola he llegado hasta aqui para solicitar de su ayuda, estoy haciendo mi tesis, de una aplicacion web para una escuela...las tablas son curso, alumnos ...
  #1 (permalink)  
Antiguo 15/03/2015, 13:58
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Guardar datos obtenidos de un checkbox a una base de datos mysql

Hola he llegado hasta aqui para solicitar de su ayuda, estoy haciendo mi tesis, de una aplicacion web para una escuela...las tablas son curso, alumnos ....realizo el llamado mediante sentencia sql a la base de datos de el curso correspondiente, en donde aparecen los alumnos en una lista con su chekbox correspondiente ....entonces para pasar asistencia necesito guardar los alumnos checkeados a una tabla de datos llamada asistencia ...favor necesito de su ayuda


<td><?php $link=mysql_connect("localhost","root","");
mysql_select_db("pinochet",$link);


$Sql = "SELECT * FROM curso ";
$Resultado = mysql_query($Sql);
echo "<select class=transpa name='cmbcursoasistencia' id='cmbcursoasistencia'>";
while($Datos = mysql_fetch_array($Resultado))
{
echo "<option value='".$Datos[0]."'>".$Datos[1]."</option>";
}
echo "</select>";
?></td>
<td><input type="submit" name="confirma" id="confirma" value="Confirmar"></td>
</tr>
</table>

</form>
<form action="" method="post">
<?php
$curso=$_POST['cmbcursoasistencia'];
?>
</form>

<form action="" method="post">
<?php

$enlace = mysqli_connect('localhost', 'root', '', 'pinochet');
if (!$enlace) {
die('Error de Conexión (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
$result = mysqli_query($enlace, "SELECT nombre from alumno where id_curso='$curso'");



echo "</tr>";
while ($row = mysqli_fetch_array($result)){

echo "</tr>";
echo '<input name="chkest[]" type="checkbox" id="chkest[]" value="'.$row[1].'" checked />'.$row[0]."<br>" ;

}

mysqli_close($enlace);

?>
</form>
</center>
<br><br>
<center>
<form action="paginainspector.php" method="post">
<input type="submit" name="volver" id="volver" value="Volver">
</form>
</center>
  #2 (permalink)  
Antiguo 15/03/2015, 14:16
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años
Puntos: 468
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

Y necesitas saber como validar si el checkbox está activado ? O el que exactamente ?

Código PHP:
Ver original
  1. if(isset($_POST["namecheck"]))
  2.  {
  3.    echo "agregamos su asistencia";
  4.  }
Dime si te referías a eso
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #3 (permalink)  
Antiguo 15/03/2015, 14:24
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

validarlo y enviar los seleccionados
  #4 (permalink)  
Antiguo 15/03/2015, 14:43
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años
Puntos: 468
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

Primeramente tendrás que mostrar un listado con cada alumno y su respectivo checkbox el cual lo activarás si ha asistido, y al enviar el formulario lo validas y ejecutas la sentencia sql para agregarlos a la tabla de la bd.

Si lo que quieres es el código tendrás que esperar o a que llegue a casa porque desde el móvil tardaría dos horas, o a que conteste otro usuario.
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #5 (permalink)  
Antiguo 15/03/2015, 15:11
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

gracias rodrypaladin... este es mi correo por cualquier cosa *****

Última edición por Triby; 09/06/2015 a las 23:16 Razón: Eliminar cuenta de email.
  #6 (permalink)  
Antiguo 15/03/2015, 15:16
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

pero es importante recalcar que los ckeckbox aparecen tickeados al ser llamados en este codigo

echo '<input name="chkest[]" type="checkbox" id="chkest[]" value="'.$row[1].'" checked />'.$row[0]."<br>" ;
  #7 (permalink)  
Antiguo 15/03/2015, 15:54
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años
Puntos: 468
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

No está permitido poner los correos personales en los hilos.
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #8 (permalink)  
Antiguo 15/03/2015, 16:09
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

disculpa....por poner el correo..lo que pasa es que estoy angustiado por no resolver esto
  #9 (permalink)  
Antiguo 15/03/2015, 17:41
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

agregue este codigo al anterior para enviar los datos del checkbox a una tabla, pero no resulta...por favor necesito de sus experencias

$chekeados=$_POST['chkest[]'];

if (empty($checkeados)) {
$checkeadosp="No selecciono ninguno";
}
if (isset($chekeados)) {
$checkeadosp = implode(", ",$_POST['chkest[]']);
}

$sql= "INSERT INTO asistencia (id_asistencia, descripcion)VALUES('1','$checkeadosp');" or die (mysql_error());

$guardar = mysql_query("$sql") or die (mysql_error());

mysqli_close($enlace);
  #10 (permalink)  
Antiguo 15/03/2015, 23:37
 
Fecha de Ingreso: febrero-2015
Ubicación: Mexico
Mensajes: 46
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

Hmm duda amigo, primero haces la consulta para que te traiga los alumnos de cada curso y cada alumno mostrado tiene su checbox es correcto?? ese checkbox al principio esta vacio??? o ya puede aparecer checked??
(que yo pienso que es la segunda opción tu me confirmaras)
  #11 (permalink)  
Antiguo 16/03/2015, 07:37
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

sorry por la demora..hora estoy desde mi trabajo con mi movil....claro amigo ya aparecen checkeados...entonces al pasar lista se descheckean y se envian a una tabla de la base de datos...
  #12 (permalink)  
Antiguo 16/03/2015, 19:07
 
Fecha de Ingreso: febrero-2015
Ubicación: Mexico
Mensajes: 46
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

Ok amigo, por ultimo me confunde solo una cosa dices que ya estan checkeados y cuando pasas lista las vas a des-checkear no seria??

No lo mas normal y logico seria mostrar los checkbox vacios al inicio y al pasar lista irlos marcando y esos marcados guardalos en una DB????

de esta manera en tu DB puede quedar asi:
Alumno | Asistencia

1 | A
2 |
3 | A
4 | A
5 |

y si no quieres dejar en blanco los que faltaron en tu DB se puede hacer un if que evalue si el check esta vacio se asigne una F a los que faltaron
Alumno | Asistencia

1 | A
2 | F
3 | A
4 | A
5 | F

Solo confirmame esto para poder ayudarte con la programacion

Última edición por cron4l; 16/03/2015 a las 19:12
  #13 (permalink)  
Antiguo 16/03/2015, 20:30
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

cron4l, gracias por tu interes de ayudarme, prefiero que aparescan tickeados, porque seria mas facil destickear para el profesor...

ademas realice un codigo, pero tampoco me lo registra mira...

<?php

$server = "localhost";
$user = "root";
$pass = "";

$conexion = mysql_connect($server, $user, $pass);
$db = mysql_select_db("pinochet", $conexion);


$nombres='';
if(isset($_POST['nombres'])){
$nombres = implode(', ',$_POST['nombres']);
}
//insertar
$consulta = "insert into asistencia(descripcion) values ('".$nombres."')";
$result = mysql_query($consulta, $conexion);

if($result){
echo "Se han ingresado los datos correctamente";
}
?>
  #14 (permalink)  
Antiguo 16/03/2015, 20:47
 
Fecha de Ingreso: febrero-2015
Ubicación: Mexico
Mensajes: 46
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

Cita:
Iniciado por krissttiann Ver Mensaje
cron4l, gracias por tu interes de ayudarme, prefiero que aparescan tickeados, porque seria mas facil destickear para el profesor...

ademas realice un codigo, pero tampoco me lo registra mira...

<?php

$server = "localhost";
$user = "root";
$pass = "";

$conexion = mysql_connect($server, $user, $pass);
$db = mysql_select_db("pinochet", $conexion);


$nombres='';
if(isset($_POST['nombres'])){
$nombres = implode(', ',$_POST['nombres']);
}
//insertar
$consulta = "insert into asistencia(descripcion) values ('".$nombres."')";
$result = mysql_query($consulta, $conexion);

if($result){
echo "Se han ingresado los datos correctamente";
}
?>
jajaj es raro pero esta bien mira si quieres que aparezcan checked los checkbox yo tengo este codigo:

Código PHP:
<input type="checkbox" id="a" name="asistencia_ckb" title="Asistencia" value="A"<?php if($registro_contacto["asistencia"]==""){echo "checked";}?> required/>
lo que hace es una consulta a la DB si el valor es == a "" imprime el checkbox ya marcado.

Código PHP:
<?php if($registro_contacto["asistencia"]==""){echo "checked";}?>  //Evalua que el valor consultado en la DB sea == a "" si es asi hace el checked y en pantalla aparece ya marcado
el codigo le cambie algunas cosas para que lo entiendas con respecto a tu problema pero te dejo el mio original

Código PHP:
Ver original
  1. <input type="checkbox" id="f" name="sexo_rdo" title="Sexo" value="F"<?php if($registro_contacto["sexo"]==""){echo "checked";}?> required/>
__________________
Agradecer no cuenta nada \o/ +1

<<-----CentOS----->>
  #15 (permalink)  
Antiguo 16/03/2015, 20:59
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

lo probaré de inmediato.....solo falta el codigo de insertar en tabla de asistencia los seleccionados, ademas de la fecha del dia que se pasa la asistencia....gracias amigo
  #16 (permalink)  
Antiguo 16/03/2015, 21:31
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

cuando realizo la consulta al curso en el combobox ..solo aparece required/>checked, con el recuadro de checkbox... no aparecen los nombres de los alumnos
  #17 (permalink)  
Antiguo 16/03/2015, 22:22
 
Fecha de Ingreso: febrero-2015
Ubicación: Mexico
Mensajes: 46
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

puedes poner alguna imagen?? recuerda que el codigo que pegue es solo para que el checkbox salga ya palomeado y por cierto quitale lo de required eso en tu caso no lo nececitas

Creo que ya entendi lo que te sale mira en donde abre y cierra codigo php solo pon esto:

Código PHP:
Ver original
  1. <?php echo "checked";?>

en pocas palabras que te quede asi:

Código HTML:
Ver original
  1. <input type="checkbox" id="a" name="asistencia_ckb" title="Asistencia" value="A"<?php echo "checked";?> />

Y ya con esto te saldra checkeado

Saludos!!!
__________________
Agradecer no cuenta nada \o/ +1

<<-----CentOS----->>

Última edición por cron4l; 16/03/2015 a las 22:35
  #18 (permalink)  
Antiguo 17/03/2015, 06:30
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

llegando a la casa te envio una imagen de la pantalla...una vez mas tedoy las gracias
  #19 (permalink)  
Antiguo 17/03/2015, 17:14
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

aqui envio un pantallazo de la pagina...ahora estos registros necesito enviarlos a la tabla

imagen de la pagina web
http://s2.subirimagenes.com/imagen/previo/thump_9326529paginaasistencia.png

y esta es la imagen de la tabla que deseo insertar
http://s2.subirimagenes.com/imagen/previo/thump_9326533tablaasistencia.png
  #20 (permalink)  
Antiguo 17/03/2015, 19:54
 
Fecha de Ingreso: febrero-2015
Ubicación: Mexico
Mensajes: 46
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

Es decir ya salen los checkbox marcados?? no alcanzo a distinguir del todo ya que las imagenes son preview y estan muy pequeñas
__________________
Agradecer no cuenta nada \o/ +1

<<-----CentOS----->>
  #21 (permalink)  
Antiguo 17/03/2015, 20:06
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

si salen marcados....entonces los necesito validar e insertar en la tabla asistencia
  #22 (permalink)  
Antiguo 17/03/2015, 21:30
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

encontre este codigo de validacion pero no me resulta...ayuda por favor

function Valida ()
{
if (IsChk('nombres'))
{
//ok, hay al menos 1 elemento checkeado envía el form!
return true;
} else {
//ni siquiera uno chequeado no envía el form
alert ('Chequeame un elemento!');
return false;
}
}
function IsChk(chkName)
{
var found = false;
var chk = document.getElementsByName(chkName+'[]');
for (var i=0 ; i < chk.length ; i++)
{
found = chk[i].checked ? true : found;
}
return found;
}
  #23 (permalink)  
Antiguo 17/03/2015, 22:02
 
Fecha de Ingreso: febrero-2015
Ubicación: Mexico
Mensajes: 46
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

si lo que quieres es enviar puedes hacer que toda tu lista de checkbox esten entre un <form></form> y dentro del form abajo del ultimo registro un <input type="button"> de esta manera envias todo lo que este dentro del form.

Donde yo tengo la duda es como cachar todos los checkbox y guardarlos en tu DB
__________________
Agradecer no cuenta nada \o/ +1

<<-----CentOS----->>
  #24 (permalink)  
Antiguo 18/03/2015, 06:20
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

por eso mismo recurri a ustedes, estoy bastante preocupado porque en la web no encuentro informacion exacta..
  #25 (permalink)  
Antiguo 18/03/2015, 20:39
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

alguno que me pueda ayudar?????
  #26 (permalink)  
Antiguo 18/03/2015, 20:47
 
Fecha de Ingreso: septiembre-2014
Mensajes: 29
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

//codigo para validad los check
<script language="javascript">
function registrar(){
if (document.form.termin.checked) {
document.form.submit();
}
else{
alert("Debes seleccionar al menos una opcion");
document.form.termin.focus();
return false;
}

}
</script>

//lo demas del codigo

<form method="post" action="asistencia.php" name="form" onsubmit="return registrar();">
<?php

$enlace = mysqli_connect('localhost', 'root', '', 'pinochet');
if (!$enlace) {
die('Error de Conexión (' . mysqli_connect_error() . ') '
. mysqli_connect_error());
}
$result = mysqli_query($enlace, "SELECT nombre from alumno where id_curso='$curso'");

echo "</tr>";

while ($row = mysqli_fetch_array($result)){

echo "</tr>";
echo '<input name="nombres[]" type="checkbox" id="nombres[]" value="'.$row[1].'" checked />'.$row[0]."<br>" ;

}

?>

<input type="submit" name="registrar" id='registrar' value="Registrar" />
</form>
  #27 (permalink)  
Antiguo 18/03/2015, 21:43
 
Fecha de Ingreso: febrero-2015
Ubicación: Mexico
Mensajes: 46
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Guardar datos obtenidos de un checkbox a una base de datos mysql

Amigo no se que tan apurado estes para esto pero yo te puedo ayudar este fin de semana ya que yo estoy atareado en mi proyecto de tesis y proyecto de servicio social, por eso no eh podido meterme a fondo en tu caso si crees que puedes esperarme adelante, si no, no hay problema >.>
__________________
Agradecer no cuenta nada \o/ +1

<<-----CentOS----->>

Etiquetas: checkbox, mysql, select, sql, tabla
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 16:39.