Tach!
Die Best Practice hier ist, mit einem <input type="hidden" name="…" value="0"> für jeden Datensatz zu arbeiten. Dann gibt es eine <input type="checkbox"> mit demselben name, aber value="1". Ist die Checkbox aktiviert, wird 1 übertragen, ansonsten 0.
Genauer gesagt, die Werte vom Hidden-Input werden immer übertragen, die von der Checkbox nur bei Häkchen drin. Somit bekommt man im Häkchen-Fall 0 und 1 im Querystring oder in den POST-Daten. Wenn PHP zwei Input-Werte mit demselben Namen bekommt, werden beide nacheinander in $_GET oder $_POST geschrieben. Das letzte überschreibt dabei das erste, welches dann nicht mehr zu sehen ist. Es ist deshalb wichtig, dass das Hidden-Input vor der Checkbox notiert wird.
dedlfix.