Foros del Web » Programando para Internet » PHP »

Validar Checkbox on off

Estas en el tema de Validar Checkbox on off en el foro de PHP en Foros del Web. Disculpen tengo una duda, en un script muestro los registros que guardo en una BD, la tabla tiene un campo analizado (0 on 1 off), ...
  #1 (permalink)  
Antiguo 26/09/2005, 16:53
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación Validar Checkbox on off

Disculpen tengo una duda, en un script muestro los registros que guardo en una BD, la tabla tiene un campo analizado (0 on 1 off), cuando los muestro en el campo analizado muestro un checkbox, donde se checkea o no dependiendo del valor, asi cargo la data ($registro[0]=id de tabla):
Código PHP:
if ($j == $columns-2) { 
  
//Crea un checkbox
  
echo "<td><center><input type=checkbox  name=campos[] value=".$registro[0]." "
  
//Verifica si debe o no ir checkeado
  
if($registro[$j] == 1) {echo " checked";}    
  echo 
"></center></td>"
} else {
  
//Agrega los campos a las filas
  
echo "<td> $registro[$j] </td>"

Ahora viene mi dolor de cabeza, porque cuando hago check en un checkbox todo bacan, pero mi problema nace cuando quito el check a un checkbox al cargar sige figurando con un check, aqui le adjunto mi codigo para procesar el script:
Código PHP:
while(list($key$val) = each($_POST)) {    
echo 
$key.", "$val."</br>";
if (
$val == on) {    
    
$consulta2 "UPDATE ".$_POST['tabla']." SET analizado = '1' ";
    
$consulta2 .= " WHERE id = '".$key."' ; ";
    
//Ejecuto la consulta
    
$resultado2 mysql_query($consulta2,$Sistema);
    echo 
$consulta2."</br>";    
    
$x++;
} elseif (
$val == off)  {
    
$consulta2 "UPDATE ".$_POST['tabla']." SET analizado = '0' ";
    
$consulta2 .= " WHERE id = '".$key."' ; ";
    
//Ejecuto la consulta
    
$resultado2 mysql_query($consulta2,$Sistema);
    echo 
$consulta2."</br>";    
}

Les agradecre su ayuda
__________________
El amor es aquello que me da la fuerza para seguir, y ella es la bateria que Dios me dio para estar siempre activo. :corazon:
  #2 (permalink)  
Antiguo 28/09/2005, 09:17
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 13 años, 2 meses
Puntos: 0
Alquien me podria ayudar, la verdad he probado de todo y me sigue validando solo los que tiene check les agradecre su ayuda
__________________
El amor es aquello que me da la fuerza para seguir, y ella es la bateria que Dios me dio para estar siempre activo. :corazon:
  #3 (permalink)  
Antiguo 28/09/2005, 09:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En principio .. los checkbox su valor solo pasa cuando los tienes marcados (tickeados, seleccionados) .. por ende sólo pasan estos .. si tu cambias uno marcado a uno no marcado ese dato no lo vas a obtener en tu script PHP de proceso (por qué no pasa).

Deberías de almacenar los valores como estaban para compararlos con los que recibes y así detectar el cambio.

Podrías almacenarlo en una sesión (los $registro[0]) .. cuando envies tus cambios (tu nueva re-selección de los checkbox) .. comparas lo que tienes en la sesión con lo que te llegó ..


Un saludo,
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:38.