Codeigniter + MySQL-搜索包含字符串

时间:2019-02-14 18:31:22

标签: mysql codeigniter search mysqli

我在数据库表中有一列,值是:PL TOFLEX NEGRO / PRETO

我在我的网站中搜索:TOFLEX PRETO

我需要输出:PL TOFLEX NEGRO / PRETO

有人可以给我正确的查询吗? 我尝试:

public function searchMaterial($nome)
{
    $json = [];

    $this->load->database();

    if(!empty($this->input->get("q"))){
        $this->db->like('nomeMaterial', $nome, 'both');
        $query = $this->db->select('idMaterial as id,nomeMaterial as text')
                    ->limit(50)
                    ->get("material");
        $json = $query->result();

    }
    echo json_encode($json);
}

但不起作用。

1 个答案:

答案 0 :(得分:0)

在查询数据库之前,您必须先拆分条款。 我假设nomeMaterial是您的列的名称。

如果您希望您的列同时包含两个字词,请尝试以下操作:

$search = 'TOFLEX PRETO';
$terms = explode(' ',$search); //will return an array with two strings
foreach($terms as $term){
    $this->db->like('nomeMaterial', $term);
}

或者如果您希望您的列中至少包含以下一项,请尝试以下操作:

$search = 'TOFLEX PRETO';
$terms = explode(' ',$search); //will return an array with two strings
foreach($terms as $term){
    $this->db->or_like('nomeMaterial', $term);
}