如何将自动完成修复到与 Codeigniter 一起出现的两个数据库中?

Posted

技术标签:

【中文标题】如何将自动完成修复到与 Codeigniter 一起出现的两个数据库中?【英文标题】:How to fix autocomplete into two databases that appear with Codeigniter? 【发布时间】:2019-12-13 15:32:07 【问题描述】:

我用 Codeigniter 做了一个自动完成,但是出现的数据只有一个数据比如我搜索数据的例子:1011 ...,出现的数据只是数字,而我想同时显示两个数据使用自动完成进行搜索以填写我的表单,所以我希望我的自动完成显示两个数据,例如 '10116198 - Farrid' 而不仅仅是一个像 '10116198' 这样的数据。

我尝试添加行,但数据仍然显示只有一个数据甚至根本没有显示此自动完成的数据

这是我的控制器>

function get_autocomplete()

    if (isset($_GET['term'])) 
        $result = $this->Data_model->search_data($_GET['term']);
        if (count($result) > 0) 
            foreach ($result as $row)
                $arr_result[] = array(
                    'label'            => $row->nip,'-',nama,
                );
            echo json_encode($arr_result);
        
    

这是我的模型>

function search_data($title)

    $this->db->like('nip', $title, 'both');
    $this->db->order_by('nip', 'ASC');
    $this->db->limit(10);
    return $this->db->get('pegawai')->result();
   

这是我的看法>

<div class="row">
  <div class="col-sm-4">
    <h6 class="m-1 font-weight-bold text-dark">Pengguna Kuasa/Anggaran</h6>
    <input type="text" name="nip" id="nip" class="form-control" placeholder="">
    </div>
  </div>
</div>

这是我的页脚>

<script type="text/javascript">
    $(document).ready(function() 

        $('#nip').autocomplete(
            source: "<?php echo site_url('data/get_autocomplete'); ?>",
            select: function(event, ui) 
                $('[name="nip"]').val(ui.item.label);
            
        );

    );
</script> 

我希望自动完成中的输出是 '10116198 - Farrid' 而不是只希望 '1011619'

【问题讨论】:

【参考方案1】:

使用.(点)连接你的数据结果,而不是使用逗号,你的数组应该是这样的:

function get_autocomplete()

    if (isset($_GET['term'])) 
        $result = $this->Data_model->search_data($_GET['term']);
        if (count($result) > 0) 
            foreach ($result as $row)
                $arr_result[] = array(
                    'label'            => $row->nip . ' - ' . $row->nama,
                );
            echo json_encode($arr_result);
        
    

【讨论】:

以上是关于如何将自动完成修复到与 Codeigniter 一起出现的两个数据库中?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复我的表单没有将数据更新到数据库 [Codeigniter]

如何将自动过滤器添加到与 SQLAlchemy 的关系中?

如何使用带有codeigniter的数据库中的JQuery使用自动完成功能?

如何修复智能感知自动完成?

如何在 Codeigniter 中使用 JQuery 修复未定义的 url

自动完成给出 codeigniter3 404 错误