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

PHP下拉框调用自定义函数后下拉选项无法正常显示问题求助

问题根因

功能失效的核心问题是function.php中拼接<option>标签时,错误地将标签尖括号转义为HTML实体,导致浏览器无法识别合法的下拉选项标签,仅会将内容识别为普通文本输出,不会渲染成可选择的下拉项。

具体错误位置

fill_institute_list函数的循环拼接代码存在两处语法错误:

// 原错误代码
$output .= '<option value="'.$row["id"].'">&lt;'.$row["institute"].'&lt;/option&gt;';
  • 学院名称前多了冗余的转义左尖括号&lt;,会直接输出<字符
  • 结束</option>标签的左尖括号被错误转义为&lt;,导致结束标签无法被浏览器解析

修复方案

将function.php中对应的循环拼接代码修改为如下内容即可:

function fill_institute_list($connect)
{
    $query = "
    SELECT * FROM cadre_institute
    ORDER BY institute ASC
    ";
    $statement = $connect->prepare($query);
    $statement->execute();
    $result = $statement->fetchAll();

    $output = '';
    foreach($result as $row)
    {
        // 修正标签写法,不需要额外转义尖括号
        $output .= '<option value="'.$row["id"].'">'.$row["institute"].'</option>';
    }
    return $output;
}

可选排查补充

如果修改后仍无数据输出,可在数据库查询逻辑后增加错误校验,确认PDO查询是否真的返回了数据:

// 执行查询后加一行验证
var_dump($result);exit;

如果输出为空数组,说明数据库cadre_institute表无数据,或PDO连接配置的账号没有对应表的查询权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:06:05