如何连接两列并对连接列使用like子句?

时间:2013-04-24 01:46:06

标签: php mysql codeigniter join

目前我正在使用CodeIgniter创建搜索页面。我面临的问题是我的products表中有两列,brandmodel。我正在尝试根据查询选择结果,该查询有三种状态,如下所示:

查询仅包含品牌
查询仅包含模型
查询包含两者

前两个查询工作正常,但问题是查询同时包含brandmodel。如何对brandmodel已加入的列使用LIKE子句?

3 个答案:

答案 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();