目前我正在使用CodeIgniter创建搜索页面。我面临的问题是我的products
表中有两列,brand
和model
。我正在尝试根据查询选择结果,该查询有三种状态,如下所示:
查询仅包含品牌
查询仅包含模型
查询包含两者
前两个查询工作正常,但问题是查询同时包含brand
和model
。如何对brand
和model
已加入的列使用LIKE子句?
答案 0 :(得分:0)
如果您只是想找到同时包含特定品牌和特定型号的行,您可以在where子句中使用两个相似的语句:
select * from products where model like '%MODEL%' and brand like '%BRAND%'
答案 1 :(得分:0)
对于灵活的查询,最好使用CodeIgniter活动记录类:
$this->db->like('model', 'model');
$this->db->like('brand', 'brand');
$this->db->select('*');
$this->db->get('products');
答案 2 :(得分:0)
使用此:
if(!empty($brandsearchtext)){
$this->db->like('p.brand', $this->db->escape_like_str($brandsearchtext));
}
if(!empty($modelsearchtext)){
$this->db->like('p.model', $this->db->escape_like_str($modelsearchtext));
}
$this->db->select("*");
$this->db->from('products');
$result = $this->db->get();
//echo $this->db->last_query();