TP 查询指定第几页信息(分页后,调用指定页。一般用于接口)

来源:互联网 发布:mac g5游戏免费完整版 编辑:程序博客网 时间:2024/05/23 01:16

原理 :

TP在列表信息页中,调用第二页,第三页的信息通常是    www.xxx.com/New/p/2    www.xxx.com/New/p/3

变相的将所有信息查询出来,

然后给一个字段P,并赋值,再次调用之前的所有信息数据



ApiUserAction.class.php

<?php     class ApiNewsAction extends action{        //调用行业资讯列表接口        public function viewNews(){           import('ORG.Util.Page');          /*  $news   =   M('news');            $data = $news->select();            if($data){                $result=array('err_no' =>1,'err_msg'=>"success",'data'=>$data);   //调用行业资讯列表成功 (存在数据)                echo json_encode($result); exit;             }else{                $result=array('err_no' =>0,'err_msg'=>"falsh is empty");   //调用行业资讯列失败 (不存在数据)                echo json_encode($result); exit;             }   */            $news   =   M('news');            $count = $news->count();// 查询满足要求的总记录数             $Page  = new Page($count,2);// 实例化分页类 传入总记录数                                  $show  = $Page->show();// 分页显示输出            //echo $count;            //$Page->firstRow = 2;            $data = $news->select();            //$Page->setNowPage(2);              //var_dump($Page->getcurrentPage());            //die();            $data = $news->order('id')->limit($Page->firstRow.','.$Page->listRows)->select();            //echo $news->getlastsql();            $this->assign('NowPage',$Page->getNowPage());// 赋值数据集            $this->assign('data',$data);// 赋值数据集            $this->assign('page',$show);// 赋值分页输出            //var_dump($Page->getTotalPages());            if($data){                $result=array('err_no' =>1,'err_msg'=>"success",'data'=>$data,'TotalPages'=>$Page->getTotalPages(),'count'=>$count);   //调用行业资讯列表成功,并返回总页数 (存在数据)                echo json_encode($result);                 exit;             }else{                $result=array('err_no' =>0,'err_msg'=>"news is empty");   //调用行业资讯列失败 (不存在数据)                echo json_encode($result); exit;             }        }                //分页显示时,可定位第几页内容        public function view(){            $p= $_POST['page'];                        //echo '<script>location.href="http://localhost/index.php/ApiNews/viewNews/p/2";</script>';            if($p){                $url='';                echo '<script>location.href="/ApiNews/viewNews/p/'.$p.'";</script>';            }else{                $this->viewNews();            }                        //echo '<script>location.href="'.base_url().'match/grouping?eventid='.$eventid.'";</script>';}        }    }?>

补:调转时,有搜索条件的,可以用TP本身跳转语句。 在跳转前接参数,并拼写到URL中,

在实在显示页面方法中 用

           $city = $this->_param(4);
           $orga_name = $this->_param(5);

接收

1、跳转前

/同行圈子列表 接口(调用第几页,默认是第一页)        public function viewPeers(){                        $city = $_POST['city'];            $orga_name = $_POST['orga_name'];                        $p= $_POST['page'];                                            if($p){                redirect('/ApiUser/peers/p/'.$p.'?city='.$city.'&orga_name='.$orga_name);            }else{                redirect('/ApiUser/peers/?city='.$city.'&orga_name='.$orga_name);                           }                    }

2、具体显示页面中接收搜索参数 ,并拼条件查询分页显示

 //同行圈子列表 接口 (列表)        public function peers(){            import('ORG.Util.Page');                 $city = $_GET['city']; //接收参数            $orga_name = $_GET['orga_name'];                           if(empty($city)){                $result=array('err_no' =>1001,'err_msg'=>"city is empty");    //城市为空                echo json_encode($result); exit;            }            if(empty($orga_name)){                $result=array('err_no' =>1002,'err_msg'=>"orga_name is empty");    //城市为空                echo json_encode($result); exit;            }/*          $customer   =   M('customer');            $data = $customer->where("userid =".$userid)->select();            if($data){                $result=array('err_no' =>1,'err_msg'=>"success",'data'=>$data);   //调用成功 (存在数据)                echo json_encode($result); exit;             }else{                $result=array('err_no' =>0,'err_msg'=>"customer is empty");   //调用失败 (不存在数据)                echo json_encode($result); exit;             }*/            $user   =   M('user');            if($orga_name){                //echo "33333333333333333333333333";                $count = $user->where('city = '."'$city'"." and orga_name like "."'%$orga_name%'")->count();// 查询满足要求的总记录数             }else{                $count = $user->where('city = '."'$city'")->count();// 查询满足要求的总记录数             }            $Page  = new Page($count,1);// 实例化分页类 传入总记录数            //$Page->setNowPage(2);            $show  = $Page->show();// 分页显示输出            //echo $count;            //$Page->firstRow = 2;            $data = $user->select();            if($orga_name){                $data = $user->where("city = ". "'$city'"." and orga_name like "."'%$orga_name%'")->order('id')->limit($Page->firstRow.','.$Page->listRows)->select();                }else{                $data = $user->where("city = ". "'$city'")->order('id')->limit($Page->firstRow.','.$Page->listRows)->select();                }                         //echo $user->getlastsql();            //echo $user->getlastsql();            $this->assign('NowPage',$Page->getNowPage());// 赋值数据集            $this->assign('data',$data);// 赋值数据集            $this->assign('page',$show);// 赋值分页输出            //var_dump($Page->getTotalPages());            if($data){                $result=array('err_no' =>1,'err_msg'=>"success",'data'=>$data,'TotalPages'=>$Page->getTotalPages(),'count'=>$count);   //调用列表成功,并返回总页数 (存在数据)                echo json_encode($result);                 exit;             }else{                $result=array('err_no' =>0,'err_msg'=>"peers is empty");   //调用列表失败 (不存在数据)                echo json_encode($result); exit;             }        }



0 0
原创粉丝点击