Thinkphp+同步条件查询+分页应用
来源:互联网 发布:淘宝怎么买图片空间 编辑:程序博客网 时间:2024/06/06 17:37
TP框架自带分页总是不能适用条件查询下的分页,没有条件查询时用的还行,一单有了条件以后,总是刷到没有条件的查询结果。
下面就是正确的处理结果。而且是同步查询,相对于异步来说便捷了很多。
1.首先在ThinkPHP/Libray/Think/Page1.class.php,这个文件是在原有的基础做了修改,已上传如我的资源库中
2. 在控制器调用page1类中的show(),代码示下:
public function index(){ $applicant=M('applicant'); $condition['state']='success'; if(I('applyid')){ $condition['applyid']=I('applyid'); $this->applyid=I('applyid'); } if(I('username')){ $condition['username']=I('username'); $this->username=I('username'); } if(I('phonenum')){ $condition['phonenum']=I('phonenum'); $this->phonenum=I('phonenum'); } if(I('saler')){ $condition['saler']=I('saler'); $this->saler=I('saler'); } if(I('groupname')){ //$condition['description']=array('like','%'.I('groupname').'%'); $where1['name']=array('like','%'.I('groupname').'%'); $group=M('group')->where($where1)->field('groupid')->select(); $groupnamearr=""; foreach($group as $v){ $groupnamearr[]=$v['groupid']; } $condition['groupid']=array('in',$groupnamearr); $this->groupname=I('groupname',I('groupname')); } if(I('dateend')&&I('datestart')){ $condition['applytime']=array(array('egt',strtotime(I('datestart'))),array('elt',strtotime(I('dateend'))+24*3600)); $this->dateend=I('dateend'); $this->datestart=I('datestart'); }else if(I('datestart')&&!I('dateend')){ $condition['applytime']=array('egt',strtotime(I('datestart'))); $this->datestart=I('datestart'); }else if(!I('datestart')&&I('dateend')){ $condition['applytime']=array('elt',strtotime(I('dateend'))); $this->datestart=I('datestart'); } if(I('datement')){ $where11['repaymentdate']=date('Ymd',strtotime(I('datement'))); var_dump($where11); $where11['repaystatus']=array('in','1,3'); $repayment=M('repayplan')->where($where11)->field('applyid')->select(); if($repayment){ $arr=array(); foreach($repayment as $v){ $arr[]=$v['applyid']; } $condition['zhuan_ok']=1; $condition['zhuan_state']=array('neq',3); $condition['applyid']=array('in',$arr); } $this->datement=I('datement'); } if(I('state')){ $condition['status']=I('state'); $this->state=I('state'); } if(I('description')){ $condition['description']=I('description'); $this->description=I('description'); } //var_dump($condition); if(I('qinum')){ //var_dump(I('qinum')); }if(I('paystate')!=""&&I('qinum')){if(I('qinum')==1&&I('paystate')==0){//第一期未还款$condition['paynum']=0;}else{$where2['term']=I('qinum'); $where2['repaystatus']=I('paystate');$repayplan=M('repayplan')->where($where2)->field('applyid')->select();$arr=""; foreach($repayplan as $v){ $arr[]=$v['applyid']; } $condition['applyid']=array('in',$arr);} $this->paystate=I('paystate'); $this->qinum=I('qinum'); } if(I('from')==2){ $condition['from']=2; $this->from=I('from'); } if(I('from')==3){ $condition['zhuan_ok']=1; $this->from=I('from'); } if(I('from')==4){ $condition['from']=2;$condition['auditstatus']="SUCCESS"; $this->from=I('from'); }if(I('from')==5){ $condition['from']=2;$condition['auditstatus']="FAILURE"; $this->from=I('from'); } //还款状态&&还款日期 if(I('paydate')&&I('paystate')!=""){ $paydate=date('Ymd',strtotime(I('paydate'))); $condit['repaymentdate']=$paydate; $condit['repaystatus']=I('paystate'); $repayplan=M('repayplan')->where($condit)->field('applyid')->select(); $arr=""; foreach($repayplan as $v){ $arr[]=$v['applyid']; } $condition['applyid']=array('in',$arr); $this->paydate=I('paydate'); $this->paystate=I('paystate'); } $condition['_logic']='and'; if(session('groupid1')==0){$count =$applicant->where($condition)->count(); $Page = new \Think\Page1($count, 10);$applicant=$applicant->limit($Page -> firstRow . ',' . $Page -> listRows)->where('1=1')->where($condition)->order('applytime desc')->select();}else{$condition['groupid']=session('groupid1');$count =$applicant->where($condition)->count(); $Page = new \Think\Page1($count, 10);$applicant=M('applicant')->limit($Page -> firstRow . ',' . $Page -> listRows)->where('1=1')->order('applytime desc')->where($condition)->select();}$count = count($applicant);foreach ($applicant as $key => &$value) {$group=M('group')->where('groupid="'.$value['groupid'].'"')->find();$partnershiptype=M('partnershiptype')->where('pshiptypeid="'.$value['pshiptypeid'].'"')->find();$value['groupname']=$partnershiptype['name'].'-'.$group['name'];if($value['firstpaydate']){$value['firstpaydate']=date('Y-m-d',$value['firstpaydate']);$value['firstpaystate']=1;//首期款支付成功}else{$map['applyid']=$value['applyid'];$map['term']=1;$repayplan=M('repayplan')->where($map)->find();if($repayplan){$value['firstpaydate']=date('Y-m-d',$repayplan['datelinux']);$value['firstpaystate']=1;//首期款支付成功}else{$value['firstpaydate']="首期款尚未支付"; $value['firstpaystate']=0;//首期款支付成功}} $condition22['applyid']=$value['applyid']; $condition22['repaystatus']=array('in','1,3'); $repayplans=M('repayplan')->where($condition22)->select();if(count($repayplans)==0){if($value['firstpaydate']=='首期款尚未支付'){$value['paynum']="尚未支付首期款";}else{$tt=1;$value['paynum']= $tt.'/'.$value['time'];}}else{$value['paynum']=count($repayplans).'/'.$value['time'];}//var_dump($applicant);if($applicant['addrid']==1){ $area_province=M('areas')->where(array('area_id'=>$value['province']))->find(); $area_city=M('areas')->where(array('area_id'=>$value['city']))->find();$area_country=M('areas')->where(array('area_id'=>$value['country']))->find();if($area_province['area_name']==$area_city['area_name']){ $value['address']=$area_city['area_name']."市".$area_country['area_name'].$value['detailaddr']; }else{$value['address']=$area_province['area_name']."省".$area_city['area_name']."市".$area_country['area_name'].$value['detailaddr']; }}else{ $area_province=M('addr')->where(array('area_id'=>$value['province']))->find(); $area_city=M('addr')->where(array('area_id'=>$value['city']))->find();$area_country=M('addr')->where(array('area_id'=>$value['country']))->find();$value['address']=$area_province['area_name'].$area_city['area_name'].$area_country['area_name'].$value['detailaddr']; } if($value['newapplyid']){ $new_applicant=M('applicant')->where(array('applyid'=>$value['newapplyid']))->find();if($new_applicant['auditstatus']=="SUCCESS"){$value['auditstatus_new']='SUCCESS';}else if($new_applicant['auditstatus']=="FAILURE"){$value['auditstatus_new']='FAILURE';}else{$value['auditstatus_new']='INIT';} }}$show = $Page -> show(); $this->show=$show;$this->applicant=$applicant;$product=M('item_type')->select();$this->product=$product;$this->typeid=session('typeid');$this->groupid=session('groupid1');$this->display();}
1 0
- Thinkphp+同步条件查询+分页应用
- thinkphp 根据查询条件分页
- Thinkphp分页时查询条件保存方法
- ThinkPHP 数据分页 带查询条件
- THINKPHP分页时保持查询条件
- ThinkPHP数据分页带入查询条件
- ThinkPHP的使用(三)带查询条件的分页
- Thinkphp中的条件分页
- thinkphp 复合条件查询
- 分页&条件查询分页
- ThinkPHP--各种查询条件设置
- thinkphp多条件模糊查询
- thinkphp查询条件,数组写法
- 分页条件查询页面
- 有无条件分页查询
- Java分页查询&条件查询
- thinkphp 综合查询结果分页
- thinkphp数据库的查询,条件判断查询
- css绝对定位、相对定位和文档流的那些事
- 对象学习
- python 安装easy_install方法
- 鸟哥的linux私房菜学习笔记《四》忘记root密码
- 51nod 1276 岛屿的数量(思维)
- Thinkphp+同步条件查询+分页应用
- iOS混合开发调试秘籍
- 校招笔试面试常考的数据库知识
- python 使用ssh scp做个升级程序
- 剑指offer:替换空格
- CentOS7搭建dev-stack环境
- 抽象工厂模式
- 教你打造一个万能的适配器
- 1030. 完美数列(25)