如何在编辑页面的数据库动态下拉菜单中回显选中数据
解决编辑页面动态下拉菜单默认选中已选数据的问题
你已经实现了从数据库动态生成下拉菜单的功能,但编辑场景下需要让菜单默认选中用户之前选择的选项对吧?我来帮你修改代码实现这个需求:
首先,你需要先从数据库中获取当前编辑记录对应的已选program ID,假设这个值存在变量$selected_prog_id里(比如查询编辑的那条数据时,把id_prog字段赋值给这个变量)。然后修改下拉菜单的代码如下:
<select class="form-control" id="id_prog" name="id_prog" placeholder="Program"> <option>-- Program --</option> <?php // 注意:mysql_*函数已废弃,建议替换为mysqli或PDO $query = mysql_query("select * from program order by program asc"); while ($row = mysql_fetch_array($query)) { // 判断当前选项是否为已选中的项 $selected = ($row['id_prog'] == $selected_prog_id) ? 'selected' : ''; ?> <option value="<?php echo $row['id_prog']; ?>" <?php echo $selected; ?>> <?php echo $row['program']; ?> </option> <?php } ?> </select>
关键改动说明:
- 新增了
$selected变量,通过三元运算符判断当前循环的选项ID是否和已选ID匹配,匹配的话就生成selected属性 - 将
selected属性添加到对应的<option>标签中,页面加载时该选项就会默认选中
额外提醒:
mysql_*系列函数已经在PHP 7.0及以上版本被移除了,为了代码的兼容性和安全性,建议你尽快替换成mysqli_*或者PDO扩展来操作数据库哦。
内容的提问来源于stack exchange,提问作者Eko Asdarm
相关产品推荐
相关产品推荐

