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