A.: Checkboxen dynamisch füllen und speichern in DB

Ich wollte aus der Datenbank für jede Dort angeleigte Zeile eine Checkbox erstellen. Falls der Wert dort 1 ist, soll die Checkbox bereits "checked" sein. Beim Absenden sollen nun entweder alle Werte neu geupdated werden, oder es soll ein komplett neuer Eintrag erstellt werden.

Zusätzlich hatte ich vor, jedem Datensatz einen weiteren "Wert" zuzuweisen, der von 1-100 geht. Falls 16 Datensätze den Wert "1" haben, soll auf "2" überprüft werden. Dort, wo weniger als 16 Datensätze sind, soll der neue eingefügt werden. Dies ist nur beim Insert wichtig. Diesen Schritt hatte ich aber erst im danach vor. Hauptsache ich verstehe das erstmals mit den Checkboxen.

  
 $all= mysql_query("SELECT * FROM tabelle") or die(mysql_error());  
 $spez= mysql_query("SELECT * FROM joined WHERE userid='$sesid'") or die(mysql_error());  
 $zwei = mysql_fetch_object($spez);  
 while ($fetch = mysql_fetch_object($all)) {  
 echo ''.$fetch->category.' '.$fetch->type.': <input type="checkbox" name="bezeichnung" '; if($zwei->joined == 1) { echo 'checked'; }echo' value="'.$fetch->id.'"><br />';  
 }  
echo' <input type="submit" name="Submit" value="Join">  
  
echo'</html>';  
if ($_POST['Submit']=='Join')  
{  
$check = $_POST['bezeichnung']; //eigentlich unnötig  
$name = implode(' ',$check);  // unnötig  
foreach ($_POST['bezeichnung'] as $key => $value) {  
  $query = mysql_query("INSERT INTO joined (userid, id, joined) VALUES ('$sesid', '".mysql_real_escape_string($_POST['bezeichnung'])."', '1')") or die(mysql_error());  
}  
echo 'Successfully joined.';  
}

Problem ist schon, dass alle als "Checked" angezeigt werden.
Ich hoffe, ihr könnt mir weiterhelfen.