Per fare questo genere di cose, ti consiglio di utilizzare l'AJAX.
In parole povere con l'AJAX puoi eseguire del codice in modo asincrono; nel tuo caso per esempio di tratta di aggiornare il database con l'evento "checked" dei tuoi checkbox.
Puoi fare una ricerca su google e trovare il codice per una chiamata ajax (io ti consiglio di controllare jquery).
Il funzionamento deve essere strutturato così:
se il checkbox è checked, esegui la funzione ajax; la funzione ajax si connette a una pagina php o asp in cui dovrà esserci il codice lato server da eseguire.
Questa è una base su cui puoi partire.
codice:
<script type="text/javascript"> function ajax(name,value){ $.ajax({ type: "POST", url: "server_page.php", data: "name=" + name + "&value=" + value, dataType: "html", success: function(msg) { $("#result").html(msg); }, error: function() { alert("Chiamata fallita, si prega di riprovare..."); } }); } </script> <input type="checkbox" name="I" value="I" onclick="ajax(this.name,this.value)">I <div id="result"></div>
In pratica: onclick, cioè all'evento click del checkbox parte l'ajax.
Nella funzione ajax viene definito, il metodo per il trasporto delle variabili, in questo caso POST; la pagina in cui c'è il codice da eseguire, in questo caso server_page.php; le variabili da trasportare (in pratica bisogna ricostruire l'url); il tipo di dato di ritorno, ovvero voglia che ritorni un codice html (invece che txt, Json o altri); infine abbiamo success: cioè in caso di successo fa qualcosa e error: cioè in caso di errore fa altro.
Nella pagina server_page.php deve esserci il codice lato server da eseguire (mysql, asp, php); ricordati che le variabili vengono spedite con il metodo POST e quindi vanno "catturate", nel caso php, con $_POST['variabile'].
Spero di essere stato chiaro