我可以使用数据库中的所有条目填充选择下拉列表,但卡在已设置的值无法显示或显示为重复的位置。我在这里搜索并发现了两个类似的问题,但他们的答案对我没有帮助。我的代码在下面
包含connect.php,其中包含所有数据库连接信息
<?php
include 'connect.php';
$qry=mysql_query("SELECT * FROM experts", $con);
if(!$qry)
{
die("Query Failed: ". mysql_error());
}
?>
<select name="expert" id="expert">
<option value="<?php echo $row['expert']; ?>"><?php echo $row['expert']; ?> </option>
<?php
while($row=mysql_fetch_array($qry))
{
echo "<option value='".$row['expert']."'>".$row['expert']."</option>";
}
?>
</select>
这个问题是它包含一个重复的条目以及所选的条目。我知道我需要添加一个if语句来删除所选的条目,但不知道如何。
PHP MySQL Drop Down Box Populate Selected Value似乎有我的答案,但我似乎无法使用该示例以不同的方式使用我的代码。
答案 0 :(得分:1)
您只需删除while循环之外的<option>
即可。
这就是为什么你的第一个项目是重复的。
<?php
include 'connect.php';
$qry=mysql_query("SELECT * FROM experts", $con);
if(!$qry)
{
die("Query Failed: ". mysql_error());
}
?>
<select name="expert" id="expert">
<?php
while($row=mysql_fetch_array($qry))
{
echo "<option value='".$row['expert']."'>".$row['expert']."</option>";
}
?>
</select>
答案 1 :(得分:1)
<select name="expert" id="expert">
<!-- Show an empty option so the "default" is blank -->
<option value=""></option>
<?php
// Define the desired selected value from the database (if any)
$selected_value = CODE_TO_GET_CURRENT_VALUE;
// Loop through all of the available options to create your... well, options
while($row=mysql_fetch_array($qry))
{
// If this option matches the one you want to select, add the HTML "selected" attribute
$selected = ($row['expert'] == $selected_value ) ? ' selected' : '';
echo "<option value='" . $row['expert'] . "'" . $selected . ">" . $row['expert'] . "</option>";
}
?>
</select>