You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现下拉菜单onchange提交表单后保留从数据库读取的选中值

实现下拉菜单提交后保留选中值的修改方案

核心思路

表单提交后,从请求参数中获取已选中的医生ID,在生成<option>标签时,对匹配ID的选项添加selected属性即可实现默认选中效果。


具体代码修改

第一步:修改PHP的displayDoctors方法

给方法增加一个接收当前选中ID的参数,生成option时做匹配判断:

public function displayDoctors($selectedDocID = ''){
    $sql = "SELECT * FROM doctor";
    $result = @mysqli_query($this->conn, $sql);
    while($data = mysqli_fetch_array($result))
    {
        // 匹配到选中ID则加selected属性
        $selected = ($data['docID'] == $selectedDocID) ? "selected" : "";
        echo "<option value='". $data['docID'] ."' ".$selected.">" .$data['FirstName']." ".$data['LastName'] ."</option>";  
    }     
}

第二步:修改HTML中方法调用逻辑

调用方法时传入提交后的医生ID(如果表单用GET提交,把下方$_POST换成$_GET即可):

<select id="Doctor" name="Doctor" onchange="this.form.submit();">
    <?php
    // 先判断参数是否存在,避免首次加载时报错
    $currentDoctor = isset($_POST['Doctor']) ? $_POST['Doctor'] : '';
    $Store->displayDoctors($currentDoctor);
    ?>
</select>

内容的提问来源于stack exchange,提问作者yukang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:48:00