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

CodeIgniter3控制器中如何获取数据库标题数据赋值给$text1

解决方法

直接修改代码实现需求,同时修正原代码里的变量名、模型调用错误:

public function ajax_list()
{
    $list = $this->thesis_title->get_datatables();
    $data = array();
    $no = $_POST['start'];
    // 固定对比文本
    $text2 ="test program simple levenshtein distance";

    foreach ($list as $title_text) {
        $no++;
        $row = array();
        // 从数据库当前记录中取出title赋值给$text1
        $text1 = $title_text->title;
        // 计算当前title和text2的编辑距离
        $distance = levenshtein($text1, $text2);

        $row[] = $no;
        $row[] = $title_text->id_title;
        $row[] = $title_text->title;
        $row[] = $distance;

        $data[] = $row;
    }

    $output = array(
        "draw" => $_POST['draw'],
        // 修正模型调用,和前面取数据的模型实例保持一致
        "recordsTotal" => $this->thesis_title->count_all(),
        "recordsFiltered" => $this->thesis_title->count_filtered(),
        "data" => $data,
    );
    // 输出JSON格式结果
    echo json_encode($output);
}

关键调整说明:

  • 把$text1的定义移到foreach循环内部,每次循环从当前数据库记录的title字段取值,替换原固定字符串
  • 统一循环变量名:原代码循环用$text_title但内部调用$title_text,现在统一为$title_text避免未定义变量错误
  • 修正模型调用:原代码中$this->title_thesis改为$this->thesis_title,和前面获取数据的模型实例保持一致,防止调用不存在的模型方法
  • 编辑距离计算放在循环内,确保每条数据库记录都能得到对应的距离值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:00:53