0

我正在使用 codeigniter,并且我有一个在 mysql 表中搜索多个列的功能,但它不起作用。我需要限制搜索,因为我需要对搜索结果进行分页。

例如,我的 mysql 数据库中的 3 个表是phones, articlessolutions搜索字符串是sony. 我有phones.namearticles.titlesolutions.title名字sony

我现有的功能是

public function get_search_res($search_str = null,$limit_start = null, $limit_end = null)
{


    $this->db->select('phones.name , phones.id');
    $this->db->select('solutions.title as s_title');
    $this->db->select('articles.title as a_title');
    $this->db->from('phones , soltions , articles');
    $this->db->like('phones.name', $search_str);
    $this->db->or_like('articles.title',$search_str);
    $this->db->or_like('solutions.title',$search_str);
    $this->db->limit($limit_start, $limit_end);
    $q = $this->db->get();

    $res = $q->result_array();

    return $res;
}

此函数仅获取内容形式的solutions表格,但无法从另外两个有限制的表格中获取所有内容。

有没有其他方法可以做到这一点?

4

1 回答 1

0

您尝试做的事情是不可能的。
不使用具有多个表的查询来执行此操作。

您想搜索 3 个表,因此您必须分别查询每个表。

从每个表中获取 COUNT 个结果,以根据您的 LIMIT 查询结果集。

于 2013-11-10T18:10:34.500 回答