Php 选择特定值的下拉菜单加载

Php 选择特定值的下拉菜单加载,php,html,mysql,sql,drop-down-menu,Php,Html,Mysql,Sql,Drop Down Menu,我有一个表单,允许用户编辑记录。表单中的一项是一个下拉菜单,其中填充了数据库中的值。我想知道是否有办法将下拉列表的默认值设置为数据库中该记录的值,而不是自动转到列表中的第一项我希望这是有意义的 <td><label for ="genre">Image Genre: </label></td> <td><select name="genre"> <?php echo'<option value="'. $r

我有一个表单,允许用户编辑记录。表单中的一项是一个下拉菜单,其中填充了数据库中的值。我想知道是否有办法将下拉列表的默认值设置为数据库中该记录的值,而不是自动转到列表中的第一项我希望这是有意义的

<td><label for ="genre">Image Genre: </label></td>
<td><select name="genre">
   <?php echo'<option value="'. $row['genreID'] .'">'. $row['genreName'] .'</option>'; ?>
   <?php while($genre_item = mysqli_fetch_array($genre_sql)){
   echo'<option value="'. $genre_item['id'] .'">'. $genre_item['genreName'] .'</option>';
         }
   ?>
</select></td>
如您所见,我在中添加了一个选项,用数据库中保存的值填充第一个值。问题是genreName会出现两次

有什么解决办法吗

<td><label for ="genre">Image Genre: </label></td>
<td><select name="genre">

<?php $genre_item = mysqli_fetch_array($genre_sql); ?>
<?php foreach($genre_item as $item){
 echo'<option value="'. $item['id'] .'">'. $item['genreName'] .'</option>';
 }
 ?>

</select>
</td>
如果我没听错的话……

记住这个问题已经有两年多了,它没有一个公认的答案

使用选定的HTML标记属性:

精选 如果存在此布尔属性,则表示该选项最初处于选中状态。如果元素是未设置属性的元素的后代,则此元素中只有一个元素具有选定属性

将其与PHP代码集成:

<?php while($genre_item = mysqli_fetch_array($genre_sql)){
$selected = '';
//modify this condition per your needs - 
if ($genre_item['id'] == $row['genreID') {
    $selected = 'selected';
}   
echo'<option value="'. $genre_item['id'] .'" '.$selected.'>'. $genre_item['genreName'] .'</option>';
找到所选选项后,输出应如下所示:

图像类型: 独立音乐 岩石 软岩 技术