使用 php 填充下拉字段
Populating a dropdown field using php
以下代码未填充列表。我正在尝试从数据库中填充下拉列表,但下面的查询不会填充下拉列表。
<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>
所以你似乎在调用 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 标签,其中一个未关闭。删除这个顶部
<select class="form-control" id="inputLocation" name="inputLocation">
其他几点需要注意:
MySQL 扩展已弃用,您应该考虑将此查询转换为 MySQLi 或 PDO
回显语句不需要括号,只需使用
echo $变量;
完整的编辑代码在这里
以下代码未填充列表。我正在尝试从数据库中填充下拉列表,但下面的查询不会填充下拉列表。
<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>
所以你似乎在调用 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 标签,其中一个未关闭。删除这个顶部
<select class="form-control" id="inputLocation" name="inputLocation">
其他几点需要注意:
MySQL 扩展已弃用,您应该考虑将此查询转换为 MySQLi 或 PDO
回显语句不需要括号,只需使用
echo $变量;
完整的编辑代码在这里