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):
[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
[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
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 .......
}
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 .......
}