使用php填充下拉字段

时间:2015-08-01 15:14:48

标签: php fetch

下面的代码不会填充列表。我正在尝试从数据库填充下拉列表,但以下查询不会填充下拉列表。

<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>

1 个答案:

答案 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;

此处完整编辑的代码

http://ideone.com/GASwcB