1094821480 发表于 2014-12-8 10:43:39

基于ci框架的多条件筛选问题

废话不多说,就是像那种商城一样可以多条件筛选功能怎么做 ,下面上图


Closer 发表于 2014-12-8 11:02:59

for, if, switch, where, like
利用這五個可以實現

1094821480 发表于 2014-12-8 11:06:08

Closer 发表于 2014-12-8 11:02
for, if, switch, where, like
利用這五個可以實現

能不能说明白点

Closer 发表于 2014-12-8 11:29:29

本帖最后由 Closer 于 2014-12-9 13:18 编辑

四個項目分別存去一個陣列
$z = array($a, $b, $c, $d);
$c 和 $d 內又個別有陣列 (大於/小於, 兩個範圍值)
再將這個 $z 送進 model 判斷,並執行四次 for 迴圈

(以下只是個概念,我沒有測試過)
for($x=0;$x<=3;$x++){
 switch($x){
  case 0: $this->db->like('區域',$z); break;
  case 1: $this->db->like('類別',$z); break;
  case 2:
   if(isset($z) && isset($z)){
    $this->db->where('租金 >',$z);
    $this->db->where('租金 <',$z);
   }elseif(isset($z)){
    if($z==">"){
     $this->db->where('租金 >',$z);
    }else{
     $this->db->where('租金 <',$z);
    }
   }
   break;
  case 3:
   if(isset($z) && isset($z)){
    $this->db->where('面積 >',$z);
    $this->db->where('面積 <',$z);
   }elseif(isset($z)){
    if($z==">"){
     $this->db->where('面積 >',$z);
    }else{
     $this->db->where('面積 <',$z);
    }
   }
   break;
 }
}

$query = $this->db->get(’search’);
if($query->num_rows() > 0){
 return $query->result_array();
}
 

gogogo1027 发表于 2015-3-13 17:38:31

这个,应该是JS写吧?如果分类过多还可以配合ajax异步调用数据,至于后端处理逻辑,这么复杂的查询不建议使用CI的Active_record
页: [1]
查看完整版本: 基于ci框架的多条件筛选问题