HTML select from mysqli 返回不完整的行数据

HTML select from mysqli returning incomplete row data

提问人:Carbs 提问时间:5/4/2020 更新时间:5/4/2020 访问量:53

问:

我正在尝试用具有少量“用户”的 mysqli 测试表中的数据填充 HTML 选择下拉列表,数据只是一个 ID 号、姓氏和名字。我目前不需要对信息做任何事情,只需确保一切都在那里。代码如下;


require("connection.php");

$query = "SELECT last FROM users";
$result = mysqli_query($conn, $query);

$num = mysqli_num_rows($result);
echo '<p>There are '.$num.' users in the database';

echo '<p><label for="users">Select User</label>
    <select id="users" name="users">
    <option> -- Select User -- </option>';

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
  foreach ($row as $u) {
    echo '<option>'.$u['last'].'</option>';
  }
}

echo '</select></p>';

?>

当我运行脚本时,我可以看到$num变量打印出正确数量的“用户”,但由于某种奇怪的原因,下拉列表仅显示用户姓氏的第一个字母(澄清一下,有五个选项可用,但每个选项都只是记录的一个字母,而不是整个姓氏)。这对我来说似乎很奇怪,只是想知道是否有人可以在上面看到任何明显的错误。

php html 选择 mysqli

评论

0赞 CBroe 5/4/2020
while 循环中的 foreach 循环应该有什么用?没有意义。删除它,然后改为回声。$row['last']
0赞 Carbs 5/4/2020
CBroe,当我这样做时,菜单中有五个选项,除了它们都是空白的。#edit - 抱歉,删除了它,但语法错误。固定。感谢您的反馈。
0赞 CBroe 5/4/2020
那么你到底从数据库中读取了什么?您的 SQL 语句似乎只包含一列,但您说“数据只是一个 ID 号、姓氏和名字”——这是什么意思?
0赞 Carbs 5/4/2020
冷静下来。在我添加更多元素之前,只是想让一件事起作用。
0赞 Your Common Sense 5/4/2020
从代码中删除 Foreach

答: 暂无答案