我在数据库表中有一列,值是: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);
}
但不起作用。
答案 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);
}