我已经为此寻找结果,似乎找不到任何处理此特定问题的东西...
我正在使用MySQL表的模板html进行模板。
一切都起作用,但是我不知道如何说'
所以我有:
$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]的结果为null(在表中没有该单元格的条目)
在我的一生中,我无法弄清楚在循环内部如何做类似的事情:
if ($row[] == 'true') {
$row[] = 'checked';
}
$ row []检查数据库中的每个记录。
...
我已经编辑了此(最初是围绕html中的" checkbox1"one_answers" checkbox2"引用...
要澄清更多,最初设置代码的开发人员在前端有复选框刻度,以" true"输入到数据库中(现在有一个非常强大的填充复选框数据库)。
我想完成的一些内容具有30多个复选框,我希望能够为输入HTML代码设置属性"检查"(在设置将成为跟踪系统的东西时对于基于数据库的输入完成的内容)。
因此,不必单独设置每个复选框,即
$row["checkbox1"] = 'checked',
$row["checkbox2"] = 'checked'
最多30多个复选框,我希望只循环遍历每一行,并使用if语句查找当前相等的" true",如果是的,则更改为"检查"。
再次感谢您的帮助!
一种可能性是将布尔值转换为查询中的字符串。
$result = mysqli_query($conn,
"SELECT
IF(checkbox1,'checked','') AS checkbox1,
IF(checkbox2,'checked','') AS checkbox2
FROM hardware_requests");
然后您的模板可以保持不变。但是,您应该引用那些数组键。
while($row = mysqli_fetch_array($result)) {
echo "<input type='checkbox' " . $row['checkbox1'] . "/>
<input type='checkbox' " . $row['checkbox2'] . "/> ";
}
您可以使用条件表达式。
while($row = mysqli_fetch_array($result)) {
echo "<input type='checkbox' " . ($row['checkbox1'] == "true" ? "checked" : "") . "/>
<input type='checkbox' " . ($row['checkbox2'] == "true" ? "checked" : ""). "/> ";
}