我有这个 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。