Ciao a tutti vi espongo il mio problema....


Ho una pagina in php con un form, il target è la pagina stessa.
La pagina consiste in una tabella creata e popolata da una query, inoltre ogni linea della tabella è fornita di una checkbox. Se si spunta il campo flag in DB viene messo a 1, se si toglie la spunta a 0.

Bene allora quando spunto / tolgo la spunta e salvo il form tutto funziona e nell'array $check vengono salvati gli id delle checkbox spuntate e fin qua tutto bene.

La pagina è fornita anche di alcuni campi nei quali posso inserire dei valori, esempio '%pippo%' in maniera che la tabella venga popolata diversamente e trovi tutti i valori dove il campo x contiene pippo, bene se faccio questa cosa, alla prima ricerca l'array che contiene i campi spuntati è ancora presente e corretto, cosa importante perchè se no farebbe l'update del flag a 0, bene se ora io riapro la pagina tutto funziona ma se io faccio subito un altra ricerca l'array perde i contenuti e fa un update errato leggendo tutte le checkbox despuntate...

Come posso fare per via che il contenuto non venga perso?

Attualmente avevo una cosa simile

Checkbox:
Codice PHP:
     <td class="td1" width="4%"><input type="checkbox" value="<?=$rs['id']?>" name="check[]" <?=$checked?>></td>
Controllo: ($flag_da_db) sarebbe il risultato di una query che pesca il valore della flag da db per l'id su cui stiamo lavorando

Codice PHP:
if($cerca == '1'){    
        if(!isset(
$_POST['check'])){    
    
$update_flag $flag_da_db;
      if(
$update_flag == 1){ $checked "checked=checked"; }else if($update_flag == 0){ $checked ""; }
    }else{
        if (
in_array($rs['id'], $check)) {
            
$update_flag 1;
            
$checked "checked=checked";
        }else{
            
$update_flag 0;
            
$checked "";
        }
    }
            
}else{
    
    
$update_flag $flag_da_db;
    if(
$update_flag == 1){ $checked "checked=checked"; }else if($update_flag == 0){ $checked ""; }