thinkphp条件筛选 例子
筛选其实很简单,就是确定好 筛选条件 和 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语句判断,代码会非常繁琐。
----------------------------------------------------------------------------------
例子②:
public function index(){
header("Content-Type: text/html; charset=utf-8");
$Data = M('zhaopin'); // 实例化Data数据对象
import('ORG.Util.Page');// 导入分页类
$adi=$_GET['Position'];
$aid=$_GET['Recruitment'];
$count= $Data->where($map)->count();// 查询满足要求的总记录数
$Page= new Page($count,20);// 实例化分页类 传入总记录数
$nowPage = isset($_GET['p'])?$_GET['p']:1;
$list = $Data->where("Position='$adi'")->order('shijian desc,id asc')->page($nowPage.','.$Page->listRows)->select();
$show = $Page->show();// 分页显示输出
echo $Data->getLastSql();
$this->assign('page',$show);// 赋值分页输出
$this->assign('list',$list);// 赋值数据集
$this->display(); // 输出模板
}
<!--区域筛选-->
<div class="cel_cat kuang kong">
<dl class="sz_area" style="margin-bottom:10px;">
<dt>招聘职位:</dt>
<dd>
<a href="#" >全部</a>
<volist name="list" id="vo">
<a href="/index.php/Zhaopin/index/Position/{$vo[Position]}">{$vo['Position']}</a>
</volist>
</dd>
</dl>
<dl class="sz_area" id="sbl_">
<dt>区域:</dt>
<dd>
<a href="停车场.html">全深圳</a>
<volist name="list" id="vo">
<a href="/index.php/Zhaopin/index/Recruitment/{$vo[Recruitment]}">{$vo['Recruitment']}</a>
</volist>
<volist name="list" id="vo">
<dl class="jobli">
<dt>
<span class="jobname" style="width:35%;"><a href="/index.php/Zhaopin/show/id/{$vo[id]}">{$vo['Job']|mb_substr=0,8,'UTF-8'}</a></span>
<span style="width:30%;"><a href="/index.php/Zhaopin/show/id/{$vo[id]}">{$vo['company_name']}</a></span>
<span style="width:16%;">{$vo['Recruitment']}</span>
<span style="width:15%;">{$vo['shijian']}</span>
</dt>
<dd>
<span class="jobinfo">
<b>
招聘人数:{$vo['hiring']}人
公司性质:{$vo['Nature']}
规模:{$vo['company_scale']}人
经验:{$vo['Work_experience']}年
学历:{$vo['Degree_required']}
职位月薪:{$vo['salary']}元/月
</b>
<br />
岗位要求: {$vo['Job_requirements']|mb_substr=0,150,'UTF-8'}
</span>
<a href="/index.php/Zhaopin/show/id/{$vo[id]}" class="getjob">查看职位</a></dd>
</dl>
</volist>