Ciao a tutti, avrei un problemino.
Allora ho una pagina nella quale tramite query pesco una serie di dati e la popolo, poi a fianco ad ogni linea della tabella ho messo una checkbox che salva il valore dell' id della linea corrispettiva, ho predisposto il tutto in modo che se spunto la checkbox tramite query mi faccia l'update di un altra tabella composta da id e flag e mi segni la flag a 1, vorrei anche che la flag vada a 0 se la checkbox non è spuntata.
Facendo varie modifiche ogni tanto almeno la check la salvava ma ora nessuna delle due, il codice è questo:
La parte del form corrispondente è questa
Codice PHP:
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
[B]... campi del form ...[/B]
<td class="td1" width="4%">
<input type="checkbox" value="<?=$valoredellacheck?>" name="check[]" <?=$checked?>">
</td>
[B]... campi del form ...[/B]
Il controllo invece è questo
Codice PHP:
<?
// Siamo in un ciclo while di una query e siamo su un singolo ID
// Eseguo una query per vedere nella tabella se è flaggato o no
$result_tab = mysql_query("select * from tabellaX where id like '".$rs['id']."'", $link)or die(mysql_error($link));
while($rt = mysql_fetch_array($result_tab)){
$flag_da_db = $rt['flag'];
$note_da_db = $rt['note'];
}
// Qua forse ho fatto un po di macello
if(isset($flag_da_db)&&($flag_da_db!='')){$update_flag = $flag_da_db;}else{$update_flag = 0;}
$lista_id = Array();
foreach ($_POST['check'] as $key => $value){
$lista_id[] = $value;
}
if (in_array($rs['id'], $lista_id)) {
$ins_flag = 1;
$update_flag = 1;
$checked = 'checked="checked"';
}else{
$ins_flag = 0;
$update_flag = 0;
$checked='';
}
// Successivamente faccio una query per modificare il flag
mysql_query("Update tabellaX flag ='".$update_flag."' where id like '".$rs['id']."' ", $link) or die(mysql_error($link));
?>
Se stampo adesso $update_flag me lo da sempre a 0