Foros del Web » Programando para Internet » PHP »

Guardar valores de un array de checkbox en MySQL con php

Estas en el tema de Guardar valores de un array de checkbox en MySQL con php en el foro de PHP en Foros del Web. Que tal amigos, antes que nada les agradezco su interés y ayuda que siempre proporcionan en el foro. Tengo un problema: tengo un formulario en ...
  #1 (permalink)  
Antiguo 19/07/2012, 19:17
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 1 mes
Puntos: 3
Guardar valores de un array de checkbox en MySQL con php

Que tal amigos, antes que nada les agradezco su interés y ayuda que siempre proporcionan en el foro. Tengo un problema:

tengo un formulario en donde una columna muestra los alumnos de una escuela mediante un array desde una tabla de MySQL. En otra columna pinto los checkbox correspondientes a cada alumno para asignar su asistencia, es decir, si selecciono el checkbox quiere decir que el alumno asistió y si no lo selecciono pues que no asistió a clases. El problema esta cuando quiero almacenar los valores de los checkbox, ya que cuando esta seleccionado me guarda el valor de "1", sin embrago no he podido asignarle el valor de "0" cuando no asistió a clases.

Pregunta: ¿cómo puedo asignarle valores de "1" - seleccionado y "0" - no seleccionado a los checkbox?

De antemano muchas gracias

Código formulario
Código PHP:

 <?php
   
$usu_alum
=mysql_query("SELECT AP_PATERNO, AP_MATERNO, NOMBRE, ID_ALUMNO, MATRICULA FROM ml_dat_ALUMNO WHERE ID_GRUPO = '$nombre_gpo'");

echo 
"<table width='680' border='0' align='left'>"
   
echo 
'<form action="CONEXION_ASISTENCIA.php" id="asist" name="form1" method="POST">';

echo 
"<tr>";

echo 
"<td>Nombre</td>";

echo 
"<td>Matricula</td>";

echo 
"<td >Asistencia</td>";

echo 
"<td>Fecha de asistencia</td>";

echo 
"</tr>";

while (
$row_asist mysql_fetch_row($usu_alum))    {
    
echo 
"<input type='hidden' name='ID_GRUP[]' id='ID_GRUP' value='$row_gpo[0]' />";

echo 
"<input type='text' name='ALUMNOS[]' value='$row_asist[3]'/>";

echo 
"<td ><input type='checkbox' name='ASIST[]' value='1'></td></input> \n";

echo 
"<td ><input type='text' name='FECHA_ASISTENCIA[]' size='20' maxlength='20' value=''></td></input> \n";

echo 
"</tr> \n";
    
}

echo 
"<td><input type='submit' name='ENVIAR' id='ENVIAR' value='Guardar'><input type='reset' name='RESTABLECER' id='RESTABLECER' value='Borrar datos'></td> \n";

echo 
"</table> \n";
 
echo 
'</form>';
 
 
?>

Código de recepción
Código PHP:

<?php

include ("CONEXION_MYSQL.php");

   
$GRUPO=$_POST['ID_GRUP'];
$ALUMNO=$_POST['ALUMNOS'];
$ASISTENCIA$_POST['ASIST'];
$FECHA_ASISTENCIA=$_POST['FECHA_ASISTENCIA'];
$n=count($GRUPO);

for(
$i=0$i<$n$i++) 
{        
    
$insertar=mysql_query("INSERT INTO ml_dat_ASISTENCIA(ID_GRUPO,ID_ALUMNO,ASISTENCIA,FECHA_ASIST) VALUES('".$GRUPO[$i]."','".$ALUMNO[$i]."','".$ASISTENCIA[$i]."','".$FECHA_ASISTENCIA[$i]."')",$conexion);

if (!
$insertar) {
die(
"Fallo en la insercion de registro en la Base de Datos: " mysql_error());

}
}
mysql_close($conexion);

echo 
'<script>alert("Los datos han sido almacenados en la base de datos");</script>';
        echo 
'<SCRIPT LANGUAGE="javascript">
        location.href="MILISTA_BD_ASIST.php";
        </SCRIPT>'
;




?>
  #2 (permalink)  
Antiguo 07/10/2014, 09:40
 
Fecha de Ingreso: marzo-2013
Mensajes: 3
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Guardar valores de un array de checkbox en MySQL con php

Pudiste resolver este problema? estoy en la misma situacion :(
  #3 (permalink)  
Antiguo 07/10/2014, 13:47
Avatar de cascanfer56  
Fecha de Ingreso: octubre-2014
Mensajes: 9
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Guardar valores de un array de checkbox en MySQL con php

Hola compañero mmm no se si realmente es lo que buscas pero te voy a dar mi idea a ver si te puede ayudar en algo ^^

La cosa sería verificar con javaScript si está o no seleccionado el checkbox y según uno u otro aplicarle el value 1 o 0.Para ello nos ayudamos de la propiedad "checked"(http://www.w3schools.com/jsref/prop_checkbox_checked.asp) ;de DOM y del evento Onclick();.

Código HTML:
<input name="ejemplo" type="checkbox" onClick="seleccionado()"; /> 
Código Javascript:
Ver original
  1. <script>
  2. function seleccionado(){
  3. var checkbox=document.form.ejemplo;
  4.  
  5. if(checkbox.checked == true){checkbox.value = 1;} else{
  6. checkbox.value =0;
  7. }

No se si estará bien del todo la respuesta,ya que no soy un experto, pero creo que los tiros podrían ir por ahí.Un saludo :)

Etiquetas: checkbox, mysql
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 08:12.