通过 mysql 选择查询填充下拉列表


Fill drop down list via mysql select query

我有这个 php 脚本应该填充一个下拉列表;我实际上将其嵌入到 <select> 元素中,但它不起作用。这是我的脚本来清楚地解释我的问题:

<select name="cats">
   <?php
   require_once("connection.php");
   $rs = mysql_query("select cat_name from category");
   $count = 0;
   while($array = mysql_fetch_array($rs)){
    echo "<option>".$array[$count]."</option>";
   }
   mysql_close($con);
   ?>
 
  </select>

可以帮助我定义错误,如果这是错误的方法?什么是更好的方法?

更改:

while($array = mysql_fetch_array($rs)){
   echo "<option>".$array[$count]."</option>";
}

while($array = mysql_fetch_array($rs)){
    echo "<option value='".$array["cat_id"]."'>".$array["cat_name"]."</option>";
}

其中cat_id是类别表的 ID

一般来说,这是正确的方法。我认为问题出在这里:

echo "<option>".$array[$count]."</option>";

您的$count必然为 0,因此您将始终输出 $array[0] ,这是选择的第一个字段(通常是某种 ID,但它取决于表结构)。这可能是也可能不是表中的正确字段。

我建议首先指定您选择的确切字段。例如:

select `id`, `text` from `category`

然后使用关联数组$array来获取所需的内容,例如:$array['id']

我认为您的代码没有任何问题,请再次检查您的数据库连接并尝试,因为我在我的本地主机中尝试您的代码并在下拉列表中获取cat_name。