如果我的数据库中有CarMake
和CarColour
的字段。发生的事情是如果我输入Toyota
它会让所有丰田汽车都恢复正常。如果我输入Blue
,它会返回所有蓝色汽车。如果我输入Blue Toyota
,它似乎可以让所有蓝色丰田汽车恢复正常,但是如果我输入Toyota Blue
它会返回所有丰田汽车,但也会返回任何蓝色汽车,无论其是什么。
这就是我所拥有的:
public function searchCars($data)
{
$keywords = explode( ' ', $data);
foreach ($keywords as $keyword)
{
$keyword = trim($keyword);
$this->db->where("`CarMake` LIKE '%$keyword'");
$this->db->or_where("`CareColour` LIKE '%$keyword'");
}
$query = $this->db->get('cars');
return $query->result();
}
}
答案 0 :(得分:1)
或者
$this->db->select( 'id,FirstName,Surname' );
$this->db->where('FirstName', $firstname);
$this->db->or_where('Surname', $surname);
$query = $this->db->get( 'namestable' );
更多信息:http://ellislab.com/codeigniter/user-guide/database/active_record.htm
编辑==========
如果你想做一个基于类似的搜索,那么尝试CI
foreach ($keywords as $keyword)
{
$keyword = trim($keyword);
$this->db->or_like('CarMake', $keyword );
$this->db->or_like('CareColour', $keyword );
}
请注意$ keyword变量周围有无引号。