Codeigniter多词搜索时遇到的问题

塔希米尼7

我正在为我的书店项目创建CodeIgniter搜索。单个单词搜索是可以的,但是当我使用多个单词搜索时,我会遇到问题。我该如何解决此问题。

我的控制器

public function search()
{
    /*=== LOAD DYNAMIC CATAGORY ===*/
    $this->load->model('admin_model');
    $view['category'] = $this->admin_model->get_category();
    /*==============================*/


    $this->form_validation->set_rules('search_book', "Search",'required');

    if($this->form_validation->run() == FALSE)
    {
        #...Redirected same page after action
        redirect($_SERVER['HTTP_REFERER']);
    }
    else
    {
        $query = $this->input->post('search_book');

        $this->load->model('user_model');
        $view['books'] = $this->user_model->search($query);


        $view['user_view'] = "users/search_books";
        $this->load->view('layouts/user_layout', $view);
    }

}

我的模特

public function search($query)
{
    $this->db->order_by('id', 'DESC');
    $this->db->from('books');
    $this->db->like('book_name', $query);
    $this->db->where('status', 1);
    $q = $this->db->get();
    return $q->result();
}

就像我在搜索框中编写PHP一样,它带给我所有带有PHP字样的书。对我来说还可以。

但是,当我在搜索框中编写PHP BOOKS时,显示找不到书。

如果任何单词匹配,我希望它显示结果。

拉胡尔

你可以代替这个

$this->db->like('book_name', $query);

条件为

$str = str_replace(" ","|", $query);
$this->db->where("book_name rlike '$str'");

您可以在此处获得有关rlike的更多详细信息

这是提供更好的全文搜索帮助,供您参考。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章