FrankFF: Checkboxen in while-Schleife

Beitrag lesen

Hallo selfhtml-Forum.

Ich komme in einer dynamisch erzeugten Liste mit den Checkboxen nicht klar. Ziel: Tabelle mit 4 Spalten, in der letzten Spalte jeweils eine Checkbox (und das ganze in einem Formular zum Absenden). Die Anzahl Zeilen ist abhängig von den DB-Einträgen.
Die Liste klappt recht gut, nur an den Checkboxen haperts.

<form action="event_intern_update.php" method="post" name="event">

$sql = "SELECT id, tag, monat, jahr, info, text, frei  FROM kalender";  
$res = @mysql_query( $sql ) or die( "Fehler: " . mysql_error() );  
$sql_count = mysql_num_rows($res);  
  
echo "<table style='width:550px; font-size:12px;margin:auto; border:1px solid #000000; border-collapse:collapse; text-align: left; '><tr style='border:1px solid #000000;background-color:white; color: #FFFFFF; padding:10px;'>  
<th style='border:1px solid #000; padding:5px; width: 50px; background-color: #7C9358;'>Datum</th>  
<th style='border:1px solid #000; padding:5px; background-color:#7C9358;'>Veranstaltung</th>  
<th style='border:1px solid #000; padding:5px; background-color:#7C9358;'>Beschreibung</th>  
<th style='border:1px solid #000; padding:5px; background-color:#7C9358;'>Sichtbar</th></tr>";  
  
while($data = mysql_fetch_object($res)){  
  
echo" <td style='border:1px solid #000; padding:5px;background-color:white;'>$data->tag".'.'."$data->monat".'.'."$data->jahr </td>  
<td style='border:1px solid #000; padding:5px;background-color:white;'>$data->info</td>  
<td style='border:1px solid #000; padding:5px;background-color:white;'>$data->text</td>  
<td style='border:1px solid #000; padding:5px;background-color:white;'>";  
  
  if($data->frei[$data->id]==1) {  
  $chk="CHECKED";  
  } else {  
  $chk="0";  
  }  
echo "<INPUT TYPE='checkbox' NAME='frei[$data->id]'  VALUE='1'".($data->frei[$data->id]==1) ? $chk : "".">";  
  
echo "</td></tr>";  
  
   }  
echo "</table>";
<input type="submit" name="submit" value="Speichern" class="button">  
</form>

Wenn ich die Bedingung in der checkbox rausnehme und nur
echo "<INPUT TYPE='checkbox' NAME='frei[$data->id]' VALUE='1'">"; schreibe geht es (aber dann sehe ich nach dem Update eben nicht mehr, was gecheckt ist...)
Also liegt es irgendwie an der Bedingung ($data->frei[$data->id]==1) ? $chk : ""
Ohne while-Schleife funktioniert es auch... *ratlos. Kann jemend helfen?

Frank