2012-03-30 3 views
10

Я хочу, чтобы запрос Codeigniter выбирал из таблицы с тремя условиями.Codeigniter select query с условием AND и OR

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

Третье условие - условие AND содержит условие ИЛИ. Первый и второй - это состояние.

ответ

21

Вы можете закодировать это следующим образом:

 $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

Как это

$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'); 
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); 
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. Вы можете добавить условия, если потребуется.

4

CodeIgniter использует свой собственный синтаксис для OR клауса в запросе

$this->db->or_where('wrk_cl_sts','Success'); 

использовать и в том, где использование пункт $this->db->where(''); дважды

Смежные вопросы