gpt4 book ai didi

php - 在 codeigniter 多词搜索中遇到问题

转载 作者:行者123 更新时间:2023-12-04 17:38:07 25 4
gpt4 key购买 nike

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

我的 Controller

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 的详细信息 here .

这是一个更好的full text search提供的帮助供您引用。

关于php - 在 codeigniter 多词搜索中遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55762358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com