[英]Displaying a php mysql result with two values with a foreach loop in PHP
我有想要显示为下拉菜单的结果。 该查询从表中选择ID和名称。
$usersQuery = "SELECT id, name
FROM users";
$usersResult = mysqli_query ($dbc, $usersQuery);
我想将此结果用作下拉菜单中的列表。 这是我到目前为止所拥有的。
<select id="dropdown" name="dropdown">
<option value="select" selected="selected">Select</option>
<?php
while ($usersRow = mysqli_fetch_array($usersResult, MYSQLI_ASSOC)){
foreach ($usersRow as $value){
echo "<option value=\"$value\"";
echo ">$value</option>\n";
}
}
?>
</select>
如果我只想显示name作为值和显示给用户,这将很好用。 但是我要做的是将所选ID用作选择选项的“值”,并且我想向用户显示所选名称。 我已经尝试过了,但是没有用。
<select id="dropdown" name="dropdown">
<option value="select" selected="selected">Select</option>
<?php
while ($usersRow = mysqli_fetch_array($usersResult, MYSQLI_ASSOC)){
foreach ($usersRow as $id=>$name){
echo "<option value=\"$id\"";
echo ">$name</option>\n";
}
}
?>
</select>
任何帮助都会很棒。
提前致谢。
mysqli_fetch_array()
是将查询结果转换为数组的函数。 这意味着您可以像使用普通数组值一样显示值。
<select id="dropdown" name="dropdown">
<option value="select" selected="selected">Select</option>
<?php
while ($usersRow = mysqli_fetch_array($usersResult, MYSQLI_ASSOC)){
echo "<option value=\"".$usersRow['id']."\"";
echo ">".$usersRow['name']."</option>\n";
}
?>
</select>
无需foreach
迭代; mysqli_fetch_array()
已经提供了一个关联数组。 每次抓取后
// Assuming "id" is a numeric value
printf('<option value="%d">%s</option>', $usersRow['id'], $usersRow['name']);
foreach
是不必要的-在mysqli_fetch_array
命令上使用while循环将返回数组每一行的所有结果-您可以像这样使用它:
while ($usersRow = mysqli_fetch_array($usersResult, MYSQLI_ASSOC)){
echo "<option value=\"".$usersRow['id']."\"";
echo ">".$usersRow['name']."</option>\n";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.