美文网首页
Thinkphp3.2 分页查询 (带参数)

Thinkphp3.2 分页查询 (带参数)

作者: geeooooz | 来源:发表于2018-09-12 16:55 被阅读264次

    首先是 借鉴 的代码

       //商品列表页面
        public function  index(){
            $name= I('get.name') ? I('get.name') : "";//商品名称
            $advertiser_id= I('get.advertiser_id') ? I('get.advertiser_id') : "";//广告主id
            $start_time = I('get.start_time') ? I('get.start_time') : "";
            $end_times = I('get.end_time') ? I('get.end_time') : "";
            $end_time = $end_times." 23:59:59";
            $s1 = strtotime($start_time);//开始的时间戳
            $e1 = strtotime($end_time);//结束的时间戳
            $where = [];
            if($name)
            {
                $where['ap.name'] = array('like',"%$name%");
            }
            if($advertiser_id)
            {
                $where['ap.advertiser_id'] = $advertiser_id;
            }
            if($s1 && $e1 !==''){
                $where['ap.add_time'] = array('between',array($s1,$e1));
            }
            $p_num= 2;
            $count  =  D('ApiProduct')->counts($where);// 查询满足要求的总记录数
            $Page   = new \Think\Page($count,$p_num);// 实例化分页类 传入总记录数和每页显示的记录数(25)
            $page_begin= $Page->firstRow;
            //搜索条件
            $map['name'] = $name;
            $map['start_time'] =  $start_time;
            $map['end_time'] =  $end_times;
            $map['advertiser_id'] =  $advertiser_id;
            $Page->parameter = array_map('urldecode',$map);
            $show = $Page->show();// 分页显示输出
            $list = D('ApiProduct')->allDatas($where,$page_begin,$p_num);
            $wheres=[];
            $lists = D('ApiAdvertiser')->allData($wheres);//查询广告主
     
            $this->assign("page", $show);
            $this->assign('list',$list);
            $this->assign('name',$name);
            $this->assign('options', $lists);
            $this->assign('start', $start_time);
            $this->assign('end', $end_times);
            $this->display();
     
        }
    

    主要代码

    //后台PHP文件
    public function index(){
            $name = I('name');
            if(!empty($name)){
                $where['name'] = array('like','%'.$name.'%');;
                $val['name'] = $name;
            }
            $remark = I('remark');
            if(!empty($remark)){
                $where['remark'] = array('like','%'.$remark.'%');
                $val['remark'] = $remark;
            }
            $job = I('job');
            if(!empty($job) && $job>0){
                $where['job'] = $job;
                $val['job'] = $job;
            }
            $table = M('summit');
            $count = $table->where($where)->count();
            $Page = new \Think\Page($count,15);// 实例化分页类 传入总记录数和每页显示的记录数(25)
            //分页跳转的时候保证查询条件
            $Page->parameter = array_map('urldecode',$val);
            $show = $Page->show();// 分页显示输出
            // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
            $list = $table->where($where)->order('register_time desc')->limit($Page->firstRow.','.$Page->listRows)->select();
    
            $this->assign('val',$val);
            $this->assign('list',$list);// 赋值数据集
            $this->assign('page',$show);// 赋值分页输出
            $this->display();
    }
    
    //前台 html 
     <form class="js-ajax-form" action="" method="post">
          <table class="table">
           <thead>
           <tr>
                         
            <th>姓名</th>
            <th>手机号</th>
            <th>企业全称</th>
            <th>职务</th>
            <th>参会类别</th>
            <th>推荐人</th>
            <th>是否参保</th>
            <th>身份证号</th>
            <th>是否支付</th>
            <th>支付时间</th>
            <th>是否签到 </th>
            <th>签到时间</th>
            <th>报名时间</th>
           </tr>
           </thead>
           <foreach name="list" item="v">
            <tr>
              <td class="center">{$v.name}</td>
              <td class="center">{$v.phone}</td>
              <td class="center">{$v.company}</td>
              <td class="center">{$v.job}</td>
              <td class="center">{$v.congress_type}</td>
              <td class="center">{$v.remark}</td>
              <td class="center">{$v.is_insure}</td>
              <td class="center">{$v.idcard}</td>
              <if condition="$v['status'] eq '否' "> 
              <td class="center" style="color:#F00">{$v.status}</td>
              <else />
              <td class="center">{$v.status}</td>
              </if>
              <td class="center">{$v.pay_time}</td>
              <td class="center">{$v.is_sign}</td>
              <td class="center">{$v.sign_time}</td>
              <td class="center">{:date('Y-m-d H:i:s',$v['register_time'])}</td>
            </tr>
            </foreach>
                <td colspan="3" bgcolor="#FFFFFF">
                    <div class="pages">
                    {$page}
                    </div>
                </td> 
          </table>
          </form>
    

    相关文章

      网友评论

          本文标题:Thinkphp3.2 分页查询 (带参数)

          本文链接:https://www.haomeiwen.com/subject/hrqbgftx.html