bueno miren tengo una consulta en la cual muestro los resultados con un while a ladito de cada resultado que se muestra le anexo un check box para eso yo tengo un campo en una tabla que se llama revisado y cada ves que se palomie un check box se pondra un 1 en se campo de mi tabla llamado revisado, eso lo ago yo con una modificacion ahora lo que quiero hacer es que cuando se deselccione un checkbox me modifique el valor en la tabla en el campo seleccionado que en ves de 1 me ponga un cero
mi codigo en donde genero la consulta sql para mostrar los registros y saber si ya tiene un valor asignado ese campo es el siguiente
conectar();
$result=mysql_query("select * FROM jqcalendar where Subject='$ficha-$codigo'");
desconectar();
while ($row=mysql_fetch_array($result))
{
echo"
<tr>
<td>$contador</td>
<td>$row[1]</td>
<td>$row[4]</td>
<td>$row[5]</td>
<td>$row[2]</td>";
if($row[7]==1){
echo"<td><input name=lista[] type=checkbox value=$row[0] checked=checked/></td>";
} else{
echo"<td><input name=lista[] type=checkbox value=$row[0] /></td>";
}
}
y el que me resibe y ase modificacion es este
<?php
include("conexion.php");
session_start();
if(count($_POST['lista'])) {
//incluir conexión a la bdd
foreach ($_POST['lista'] as $v) {
conectar();
mysql_query("UPDATE jqcalendar SET asistencia='1' where Id='$v' ");
desconectar();
}
}else {
//aqui es donde estoy intentando hacer que si se deselecciona un checkbox que //ya estaba seleccionado me cambie el valor a cero pero no me sale
conectar();
mysql_query("UPDATE jqcalendar SET asistencia='0' where Id='$v' ");
desconectar();
}
?>
Resulta que si ningun checkbox esta selecionado no se envia ningun dato por lo tanto el $_POST['lista'] no se define y no contendra nada.
Lo unico que se me ocurre es que pongas un texbox hidden que se encargue de guardar las ids.
quedaria mas o menos asi
codigo para lista
<?php
conectar();
$result=mysql_query("select * FROM jqcalendar where Subject='$ficha-$codigo'");
desconectar();
while ($row=mysql_fetch_array($result))
{
echo"
<tr>
<td>$contador</td>
<td>$row[1]</td>
<td>$row[4]</td>
<td>$row[5]</td>
<td>$row[2]</td>";
if($row[7]==1){
echo '<td><input name="lista[]" type="checkbox" value="'.$row[0].'" checked="checked"/>';
echo '<input type="hidden" name="listah[]" value="'.$row[0].' checked="cheked"/></td>';
} else{
echo"<td><input name=lista[] type=checkbox value=$row[0] />";
echo '<input type="hidden" name="listah[]" value="'.$row[0].' checked="cheked"/></td>';
}
}
?>
codigo que modifica
<?php
include("conexion.php");
session_start();
conectar();
if(isset($_POST['lista'])) {
//incluir conexión a la bdd
foreach ($_POST['lista'] as $v) { mysql_query("UPDATE jqcalendar SET asistencia='1' where Id='$v' ");}
} else {
//aqui es donde estoy intentando hacer que si se deselecciona un checkbox que
// ya estaba seleccionado me cambie el valor a cero pero no me sale
foreach ($_POST['listah'] as $v) { mysql_query("UPDATE jqcalendar SET asistencia='0' where Id='$v' ");}
desconectar();
?>
Saludos