我正在学习PHP,开始一个练习项目来制作一个待办事项列表。 该列表允许用户使用输入字段将数据输入数据库,并使用while和foreach循环显示数据库中的数据。
我想为显示的每个项目添加一个复选框,允许用户检查他们要删除的列表中的哪些项目,并且复选框的值与对应的id列相对应item,然后我将添加一个提交按钮,清除已检查的项目。
我正在使用的数据库表有两列,一个是自动增量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>";
}
但是由于soeme原因,这会返回列名,而值如下:
id1 descriptionTodo列表项目编号一
id2 descriptionTodo列表项目编号二。
id3 descriptionTodo列表项目编号三。
id5 descriptionTodo列表项目编号四。
谁能让我走上正确的道路?
如果有人想看到整个项目,我已将项目上传到github
提前感谢您的任何帮助和建议。
答案 0 :(得分:1)
我不明白你为什么实际使用foreach,我会这样做:
<?php
$query = "SELECT * FROM list_data;";
$list = $mysqli->query($query);
while ($row = $list->fetch_array(MYSQLI_ASSOC)):
echo "<tr>";
echo"<td><input type='checkbox' value='".$row['id']."'</td> <td>".$row['description']."</td>";
echo "</tr>";
endwhile;
?>