使用带有 HTML 和 PHP 的复选框(SQLite 数据库)
Using Checkboxes with HTML and PHP (SQLite Database)
我正在尝试设置复选框的值。我确实有一个带有 table 和一些行的 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
属性 必须这样使用,但老实说我真的不在乎。 ;-)
我正在尝试设置复选框的值。我确实有一个带有 table 和一些行的 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
属性 必须这样使用,但老实说我真的不在乎。 ;-)