【发布时间】:2016-02-10 22:06:01
【问题描述】:
我现在正在学习PHP,开始了一个练习项目来制作一个待办事项列表。 该列表允许用户使用输入字段将数据输入到数据库中,并使用 while 和 foreach 循环来显示数据库中的数据。
我想为每个显示的项目添加一个复选框,允许用户检查他们想要删除列表中的哪些项目,并且复选框的值对应于项目,然后我将添加一个提交按钮,该按钮将清除选中的项目。
我正在使用的数据库表有两列,一个是自动增量 id 列,一个是描述列。
这是循环:
<?php
$query = "SELECT * FROM list_data;";
$list = $mysqli->query($query);
while ($row = $list->fetch_array(MYSQLI_ASSOC)):
echo "<tr>";
foreach($row as $list_item) {
echo "<td>" . $list_item . "</td>";
}
echo "</tr>";
endwhile;
?>
我试过了:
foreach ($row as $id => $description) {
echo "<td>" . $id . $description . "</td>";
}
但出于某种原因,这会返回列名,以及如下值:
id1 描述待办事项列表项目编号一。
id2 descriptionTodo 列表项目编号二。
id3 descriptionTodo 列表项目编号三。
id5 描述待办事项列表项目编号四。
谁能让我走上正确的道路?
如果有人想查看全部内容,我已将项目上传到 github。
提前感谢您的任何帮助和建议。
【问题讨论】:
-
您的代码中没有复选框元素?也可以尝试使用
fetch_assoc。 -
您使用的是
MYSQLI_ASSOC,这意味着$list_item将是[ 'id' => 1, 'description' => '....' ]。请改用foreach ( $row as $colname => $value )。 -
是的,我还没有添加复选框元素,但是我无法将 id 和描述分开,以便我使用 id 值变量作为复选框的值。