基于ci框架的多条件筛选问题
废话不多说,就是像那种商城一样可以多条件筛选功能怎么做 ,下面上图for, if, switch, where, like
利用這五個可以實現 Closer 发表于 2014-12-8 11:02
for, if, switch, where, like
利用這五個可以實現
能不能说明白点
本帖最后由 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();
}
这个,应该是JS写吧?如果分类过多还可以配合ajax异步调用数据,至于后端处理逻辑,这么复杂的查询不建议使用CI的Active_record
页:
[1]