Scusa Nicola, effettivamente per essere il più breve possibile forse mi sono spiegato molto male.
Per ogni utente che si iscrive, viene creta una tabella nome_cognome con colonne ID e BOX di 83 righe.
codice:
$query = "CREATE TABLE ".$userTable." (id INT (2) UNSIGNED not null AUTO_INCREMENT PRIMARY KEY, box SET ('on','off') not null)";
mysql_query($query,$conn) or die ("Errore nella query2: " . mysql_error());

for($i=1;$i<=83;$i++) {						
$query = "INSERT INTO ".$userTable." VALUES ('$i','off')";
mysql_query($query,$conn) or die ("Errore nella query: " . mysql_error());}

session_start();
	$_SESSION['userTable'] = $userTable;
La colonna ID è UNSIGNED auto_inrement mentre quella box ha valore SET ('on','off') da trasmettere alle checkbox in questo modo.
codice:
<? session_start();
	$userTable = $_SESSION['userTable'];

$conn.. $query.. etc.
<form method="post" name="box[]" action="insertforme.php"> 
<table>
<?
while ($row = mysql_fetch_array($res))
{ ?>
 <tr> 
  <td class="tdBox"><input type="checkbox" name="box[]" <? echo 'value="'.$row[id].'" '; if($row['box'] == "on"){echo 'checked';} ?> /></td>
  <td class="tdNum"><? print "$row[id]" ?></td>
  <td class="tdNome"><? print "$row[NomeForma]"  ?></td>
  <td class="tdTrad"><? print "$row[Traduzione]"  ?></td>
  <td class="tdTipo"><? print "$row[TipoForma]"  ?></td>  
  </tr>
<? } ?> 
</table>
<input type="submit" name="submit" value="Invia">
I $row[] non appartenenti alle checkbox li stampo tramite "SELECT FROM" di 2 tabelle, tabellaUtente e la lista completa delle opzioni, incrociate con WHERE A.id = B.id, ma questo non ha importanza.

Una volta che l'utente ha scelto le checkbox fra le 83, faccio l'UPDATE tramite l'array $_POST[box] che contiene tutti i valori delle checkbox scelte per ex. (3,5,8,9,13,45,68,81).

nella pagina insert.php mi connetto alla tabella utente e faccio l'update in questo modo
codice:
<? session_start();
	$userTable = $_SESSION['userTable'];

$conn.. $query.. etc. //connessione al database e alla tabella utente passata tramite la variabile $_SESSION[userTable]

$box = $_POST[box];	//array delle checkbox
$i = 1;
$a = 0;                 
	
while(($row = mysql_fetch_array($res)) && ($i<=83)) { 		
	if($row[id] == $box[$a]) {	
$query = "UPDATE $userTable SET box = 'on' WHERE id = $box[$a]";
mysql_query($query,$conn) or die ("Errore nella query UPDATE on: " . mysql_error());
	$a++;
}
	else {
$query = "UPDATE $userTable SET box = 'off' WHERE id = '$i'";
mysql_query($query,$conn) or die ("Errore nella query UPDATE off: " . mysql_error());}
$i++;
}
?>
In questo modo, tramite while itero il paragone fra le 83 righe ID dell'intera tabella e i valori richiamati dall'array $_POST[box], quando sono uguali allora la riga corrispondete prende il valore di SET ('on').
Altrimenti la variabile $i (else) che viene incrementata ad ogni ciclo modifica il valore di SET su ('off') di modo che se viene tolta una checkbox dall'utente nei giorni successivi, questa non è presente nell'array $_POST[box], e $i assumendo il suo valore la convertirà.

:master: