【发布时间】:2019-08-05 21:58:11
【问题描述】:
我已经为此寻找了结果,但似乎找不到任何处理这个特定问题的东西......
我正在使用 while 循环从我的 MySQL 表中生成 HTML 模板。
一切正常,但我不知道如何说“如果从 while 循环返回的任何行结果等于 'true',请将其更改为 'checked'。
所以我有例如:
$result = mysqli_query($conn, "SELECT * FROM hardware_requests");
while($row = mysqli_fetch_array($result)) {
echo "<input type='checkbox' " . $row["checkbox1"] . "/>
<input type='checkbox' " . $row["checkbox2"] . "/> ";
}
$row[checkbox1] 的结果为 'true',$row[checkbox2] 的结果为空(在表格中该单元格没有条目)
对于我的一生,我无法弄清楚如何在 while 循环中执行以下操作:
if ($row[] == 'true') {
$row[] = 'checked';
}
使用 $row[] 检查数据库中的每条记录。
...
我已对此进行了编辑(最初 HTML 中“checkbox1”和“checkbox2”周围的引号丢失了...
为了更清楚地说明,最初设置代码的开发人员将前端的复选框勾选输入数据库为“真”(现在有一个相当强大的已填写复选框的数据库)。
我正在尝试完成的某些部分有 30 多个复选框,我希望能够为输入的 HTML 代码设置“已检查”属性(在设置将成为跟踪系统的东西时)根据数据库的输入完成了什么)。
因此不必单独设置每个复选框,即
$row["checkbox1"] = 'checked',
$row["checkbox2"] = 'checked'
最多 30 多个复选框,我希望循环遍历每一行并使用 if 语句找出当前等于“真”,如果是,则更改为“已检查”。
再次感谢您的帮助!
【问题讨论】:
-
您在
$row[checkbox1]中缺少引号 -
您的表中有多少列?您没有列出它们...
-
如果你知道
$row['checkbox2']是空的,为什么还要输出呢? -
我不确定,但你只需要简单地将'true'更改为'checked'? “
标签: php mysql while-loop