在codeigniter中具有多个条件的SQL查询

时间:2017-01-31 12:50:22

标签: php mysql codeigniter

我一直在尝试根据'类别'来获取记录。 (应该是Where子句),其他约束如下。请指导我在下面的代码中插入where子句的位置,如category = $ category。

$this->db->select('*');
$this->db->from('proj_item_details','proj_item_images');
$this->db->join('proj_item_images', 'proj_item_images.proj_id=proj_item_details.proj_id');
$this->db->like('proj_item_title',$params['search']['keywords']);
$this->db->order_by('proj_item_title',$params['search']['sortBy']);
$this->db->limit($params['limit'],$params['start']);

2 个答案:

答案 0 :(得分:0)

将此行添加到您的代码中 -

$this->db->where('proj_item_details.category', $category);

示例 -

$this->db->select('*');
$this->db->from('proj_item_details','proj_item_images');
$this->db->where('proj_item_details.category', $category);
$this->db->join('proj_item_images', 'proj_item_images.proj_id=proj_item_details.proj_id');
$this->db->like('proj_item_title',$params['search']['keywords']);
$this->db->order_by('proj_item_title',$params['search']['sortBy']);
$this->db->limit($params['limit'],$params['start']);

答案 1 :(得分:0)

试试这样。

1.无需在from语句中定义两个表。

2.在joining两个表之后放置你的位置条件。

3.在order_bylike语句中正确定义table

$this->db->select('*');
$this->db->from('proj_item_details');//only one table name here
$this->db->join('proj_item_images', 'proj_item_details.proj_id=proj_item_images.proj_id');
$this->db->where('proj_item_details.category', $category);//where condition here

$this->db->like('proj_item_details.proj_item_title',$params['search']['keywords']);//define table_name.column_name
$this->db->order_by('proj_item_details.proj_item_title',$params['search']['sortBy']);//define table_name.column_name
$this->db->limit($params['limit'],$params['start']);