下面的代码不会填充列表。我正在尝试从数据库填充下拉列表,但以下查询不会填充下拉列表。
<form class="form-horizontal" role="form" method="post">
<div class="form-group">
<label for="inputLocation" class="col-sm-2 control-label">Location</label>
<div class="col-sm-4">
<select class="form-control" id="inputLocation" name="inputLocation">
<?php
$queryData = mysql_query("SELECT DISTINCT cat_name as cat_name FROM 'categories' ORDER BY `cat_name`");
$result = mysql_fetch_array(mysql_query($queryData)); //$result now has database tables
?>
<select name='cat_name'>
<?php
while($row = mysql_fetch_array($result))
{
?>
<option values=<?php echo($row['cat_name']); ?><?php echo($row['cat_name']); ?></option>
<?php
}
?> </select>
</div>
</div>
</form>
答案 0 :(得分:3)
所以你好像在调用mysql_query并两次获取数组......
$result = mysql_fetch_array(mysql_query($queryData);
应改为
$result = mysql_fetch_array($queryData);
然后再往下,改变
while($row = mysql_fetch_array($result))
要...
foreach($result as $row)
你可以随时
print_r($result);
确保从查询中获取数据。
您还有两个选择标记,其中一个标记未关闭。删除这个顶部
<select class="form-control" id="inputLocation" name="inputLocation">
其他几点需要注意:
MySQL扩展已弃用,您应该考虑将此查询转换为MySQLi或PDO
您不需要在echo语句周围使用括号,只需使用
即可echo $ variable;
此处完整编辑的代码