我正在尝试设置复选框的值。我确实有一个SQLite数据库,其中包含一个包含一些行的表。有些行包含STATUS = 1
,有些行包含STATUS = 0
。
... "STATUS" BOOL NOT NULL DEFAULT 1, ...
所以我使用 fetchArray 函数检查当前行,其他一切正常,但在我的 HTML 站点中,所有复选框都被选中。有逻辑错误吗?
while ($row = $table->fetchArray(SQLITE3_ASSOC))
{
$output .= '<tr>';
if ($row['STATUS'] == 1) {
$output .= '<td class="STATUS" data-id1="' . $row['ID'] . '" bgcolor="#cecece"><input type="checkbox" name="STATUS" checked="true"></td>';
}
else {
$output .= '<td class="STATUS" data-id1="' . $row['ID'] . '" bgcolor="#cecece"><input type="checkbox" name="STATUS" checked="false"></td>';
}
$output .= '<td class="USER" data-id2="' . $row['ID'] . '" contenteditable="true">' . $row['USER'] . '</td>
...
<td class="DESCRIPTION" data-id11="' . $row['ID'] . '" contenteditable="true">' . $row['DESCRIPTION'] . '</td>
<td><button type="button" name="btn_edit" data-id12="' . $row['ID'] . '" class="btn btn-xs btn-warning btn-block btn_edit">Edit</button></td>
<td><button type="button" name="btn_delete" data-id13="' . $row['ID'] . '" class="btn btn-xs btn-danger btn-block btn_delete">Delete</button></td>
</tr>';
}
这是解决方案:
if ($row['STATUS'] == 1) {
$output .= '<td class="STATUS" data-id1="' . $row['ID'] . '" bgcolor="#cecece"><input type="checkbox" name="STATUS" checked>' . $row['STATUS'] . '</td>';
}
else {
$output .= '<td class="STATUS" data-id1="' . $row['ID'] . '" bgcolor="#cecece"><input type="checkbox" name="STATUS">' . $row['STATUS'] . '</td>';
}
如您所见,我刚刚更改了 HTML 代码的语法。我不知道为什么checked
属性必须这样使用,但说实话,我真的不在乎。;-)