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 SearchSphinx、またはSolrの使用を検討してください。

StackOverflowをざっと見て、最適なエンジンを見つけてください。この問題に関して過去に尋ねられた役立つ質問がたくさんあります。うまくいけば、それはあなたを正しい方向に導くでしょう。

于 2013-02-10T19:42:38.243 に答える