使用AND和OR条件的Codeigniter选择查询

时间:2012-03-30 10:52:26

标签: codeigniter

我希望从包含三个条件的表中进行Codeigniter选择查询。

1. wrk_fld_exc = 140
2. wrk_cs_sts = Open
3. wrk_dlvrd_sts = Delivered OR wrk_cl_sts = Success

第三个条件是AND条件包含OR条件。 第一和第二是和条件。

7 个答案:

答案 0 :(得分:26)

你可以这样编码:

       $this->db->where('wrk_fld_exc',140);
       $this->db->where('wrk_cs_sts','open');
       $where = '(wrk_dlvrd_sts="open" or wrk_cl_sts = "Success")';
       $this->db->where($where);

答案 1 :(得分:5)

codeigniter在查询

中使用自己的OR claus语法
$this->db->or_where('wrk_cl_sts','Success'); 

在where子句中使用AND两次使用$this->db->where('');

答案 2 :(得分:2)

喜欢这个

 $this->db->where('wrk_fld_exc',140);
 $this->db->where('wrk_cs_sts','open');
 $this->db->where('wrk_dlvrd_sts ','Delivered');
 $this->db->or_where('wrk_cl_sts','Success');

答案 3 :(得分:1)

$this->db->where ('attribute',$data['attribute']);
$this->db->or_where ('attribute',$data['attribute']);
$this->db->and_where ('attribute',$data['attribute']);

答案 4 :(得分:0)

 $this->db->where('wrk_fld_exc',140);

 $this->db->where('wrk_cs_sts','open');

 $where = '(wrk_dlvrd_sts="open" or wrk_cl_sts = "Success")';

 $this->db->where($where);

答案 5 :(得分:0)

    $this->db->select("*");
    $this->db->from("table_name");
    if($condition1 != ''){
        $this->db->where('wrk_fld_exc', 140);
    }
    if($condition2 != ''){
        $this->db->where('wrk_cs_sts ', open);
    }
    //You can limit the results
    $this->db->limit(5);
    $q = $this->db->get();
    return $q->result();

这是您可以在codeigniter中以这种方式实现的查询的基本结构。如果需要,您可以添加条件。

答案 6 :(得分:0)

$city=$params['search']['city']; 
$like = "(location like '%$city%' or address like '%$city%' or city like '%$city%')"; 
$this->db->where($like);