Tak jak kolega wyżej pisze, checkboxy jako tablica. Od siebie tylko dodam, że bardziej elegancko i wydajnie można pojedynczym zapytaniem:
mysql_query('UPDATE tabela SET zaliczenie = 1 WHERE id_studenta IN ('.implode(', ', $_POST['id_studenta']).')'); mysql_query('UPDATE tabela SET zaliczenie = NULL WHERE id_studenta NOT IN ('.implode(', ', $_POST['id_studenta']).')');
Przed wykonaniem tych zapytań sprawdź czy $_POST['id_studenta'] w ogóle istnieje, bo jeśli użytkownik nie zaznaczył żadnego checkboxa, to $_POST['id_studenta'] NIE będzie zawierała pustej tablicy, ale w ogóle nie będzie zdefiniowana. Poza tym ze względów bezpieczeństwa warto przed wykonaniem zapytań przefiltrować identyfikatory:
foreach($_POST['id_studenta'] as $key => $value) {
$_POST['id_studenta'][$key] = (int) $value;
}
Nie jest to najbardziej elegancki sposób. Lepiej wrzucić te przefiltrowane identyfikatory do osobnej tablicy i tę nową tablicę użyć w zapytaniach.