0

如何将单个 jquery 自动完成用于多个表单下拉列表?

这是我的视图页面(标题):

$("#full_name").autocomplete({
   source: "<?php echo site_url('autocomplete/get_names');?>"
});  

$("#department").autocomplete({
   source: "<?php echo site_url('autocomplete/get_dept');?>"
});  

*** and other like these for subjects, zip and country. 

控制器页面:

public function get_names(){
 $this->load->model('autocomplete_model');
    if (isset($_GET['term'])){
    $q = strtolower($_GET['term']);
    $this->autocomplete_model->get_fullnames($q);
 }
}  
*** and other functions... 

型号页面:

function get_fullnames($q)
{
$match = $q;
$this->db->select('full_name');
$this->db->like('full_name', $match,'after');
$query = $this->db->get('employee_list');

    if($query->num_rows > 0){
      foreach ($query->result_array() as $row){
        $row_set[] = htmlentities(stripslashes($row['full_name'])); 
        }
        echo json_encode($row_set); 
    }

}

如何实现可用于多个条件的单个搜索词?
提前谢谢你们..

4

1 回答 1

0

这不会扩大规模;随着您的数据库表的增长,此实现将变得非常缓慢。您需要做的是使用索引引擎来允许全文搜索

MySQL 不允许对 InnoDB 表进行全文搜索(实际上,它刚刚在最新版本中发布,但仍处于起步阶段)。考虑使用Elastic SearchSphinxSolr

查看 StackOverflow 以找到最适合您的引擎 - 过去曾针对此问题提出过许多有用的问题。希望这能让你走上正确的道路。

于 2013-02-10T19:42:38.243 回答