Validar Checkbox on off

oblacionx
27 de Septiembre del 2005
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):
[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>";
}[/PHP]
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:
[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>";
}
}[/PHP]
Les agradecre su ayuda

mandm (Loop)
27 de Septiembre del 2005
Creo que jamás funcionará como lo estás haciendo.......

en el bucle while() manifiestas recorrer el array $_POST en lugar de el array $_POST['campos'];

y sería mejor recorrerlo con un bucle for()

for($i=0;$i<count($_POST['campos']);$i++)
{
// Codigo ........
$consulta2 .= " WHERE id ='" .$_POST['campos'][$i]."'";
// Codigo .......
}