筛选其实很简单,就是确定好 筛选条件 和 url传参,
用程序的语言来说,就是确定好 $where 和 $cid,就可以 了
例子①:
根据如上方式筛选:1.商铺名称 模糊查询;2审核有四种条件:0 请选择,1待审核,2审核通过,3审核未通过;3商铺状态为1(开启)。
满足条件分析:商铺状态必须为1.商铺名称为空,审核是“请选择”时,将显示全部。
具体控制器方法如下:
public function index(){
$Store = M('store');
$condition = '';
$store_name =I('post.store_name');//接收商铺名称
$audit =intval(I('post.audit'));//接收审核状态
/*筛选条件判断*/
if($store_name){
$map['store_name'] =array('like',"%".$store_name."%");//like 条件判断
}
if($audit){
$map['is_audit'] =$audit;//审核状态
}
$map['store_state'] = 1;//必选条件
$storelist =$Store->where($map)->select();//根据条件筛选
$this->assign('storelist',$storelist);// 赋值数据集
}
分析:使用$map的好处是当其中一个条件为空时,直接查询其他条件。相当于 SQL语句中 字段 is null。如用if语句判断,代码会非常繁琐。