从 MySQL 生成下拉菜单

2022-01-06 00:00:00 drop-down-menu php mysql menu

我需要从 MySQL 表中的数据生成一个下拉菜单.

I need to generate a drop down menu from data in a MySQL table.

从表中,它必须获取用户 ID 和用户名.

From the table, it'll have to take the user id and the username.

然后它将用户 ID 设置为选项值,并将用户名设置为下拉列表中显示的内容.

Then it'll set the user id to option value and the username to what shows up in the drop down.

谁能给我看一些代码?我在进行以下工作时遇到问题:

Could anyone show me some code for it? I'm having trouble making the following work:

$sql = "SELECT user_id, user_name FROM users";
$result = mysql_query($sql);

while($row = mysql_fetch_array($result))
{
  echo "<option value=".$row['user_id'].">.$row['user_name'].</option>
 ";
  echo "<option value="12275">".$row['user_name']."</option>
 ";
}

推荐答案

您的输出有几个问题.首先,从您的示例中不清楚您是否有实际的 select 元素父元素,而且我不确定浏览器是否会在没有父元素选择的情况下显示 options .其次,您没有转义数组变量.所以这可能会解决它:

You have a couple of issues with your output. First, it's not clear from your example if you have the actual select element parent, and I'm not sure if browsers will display options without a parent select. Second, you are not escaping your array variables. So this might fix it:

$sql = "SELECT user_id, user_name FROM users"; $result=mysql_query($sql);

echo '<select name="users">';

while($row = mysql_fetch_array($result)) {
    echo '<option value="'. $row['user_id'] . '">' . $row['user_name'] . "</option>
";
}

echo '</select>';

相关文章