为了账号安全,请及时绑定邮箱和手机立即绑定

Codeigniter多词搜索时遇到的问题

Codeigniter多词搜索时遇到的问题

PHP
互换的青春 2021-04-26 12:23:29
我正在为我的书店项目创建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时,显示没有找到书。如果要匹配任何单词,我希望它显示结果。
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你可以代替这个

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

条件为

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

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

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


查看完整回答
反对 回复 2021-05-07
  • 1 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号