我想用数据库中的值填充下拉列表。
<?php
require 'conn.php';
$filter=mysql_query("select distinct fuel_type from car");
while($row = mysql_fetch_array($filter)) {
$options ="<option>" . $row['fuel_type'] . "</option>";
$menu="<form id='filter' name='filter' method='post' action=''>
<p><label>Filter</label></p>
<select name='filter' id='filter'>
" . $options . "
</select>
</form>";
echo $menu;
}
?>
问题是我得到两个列表而不是一个列表,其中包含值。请指教
答案 0 :(得分:2)
echo $menu;
应该在你的循环之外。
答案 1 :(得分:2)
您需要从循环中移除$menu
:
<?php
require 'conn.php';
$options = '';
$filter=mysql_query("select distinct fuel_type from car");
while($row = mysql_fetch_array($filter)) {
$options .="<option>" . $row['fuel_type'] . "</option>";
}
$menu="<form id='filter' name='filter' method='post' action=''>
<p><label>Filter</label></p>
<select name='filter' id='filter'>
" . $options . "
</select>
</form>";
echo $menu;
?>
答案 2 :(得分:1)
<?php
require 'conn.php';
$filter=mysql_query("select distinct fuel_type from car");
$menu="
<form id='filter' name='filter' method='post' action=''>
<p><label>Filter</label></p>
<select name='filter' id='filter'>";
// Add options to the drop down
while($row = mysql_fetch_array($filter))
{
$menu .="<option>" . $row['fuel_type'] . "</option>";
}
// Close menu form
$menu = "</select></form>";
// Output it
echo $menu;
?>