作者:BILLLLL | 来源:互联网 | 2018-03-25 00:19
php代码
//生成分页的方法
//obj是需要分页表的实例化对象,limit是当前页左右显示的条数。
//$map为分页时where 的条件。
//$this->size是我自己类下的变量。为每页显示的条数
public function CreatePage($obj,$limit,$map=''){
//总条数
$totalRows=$obj->where($map)->count();
//总页数
$totalPage=(round($totalRows/$limit,0));
//当前页。
$nowPage=I('get.p')?I('get.p'):1;
if($nowPage>$this->size){
$start=$nowPage-$this->size;
}
else{
$start=1;
}
if($totalPage>($nowPage+$this->size)){
$end=$nowPage+$this->size;
}
else{
$end=$totalPage;
}
if($nowPage==$totalPage){
$start=$nowPage-$this->size;$end=$totalPage;
}
$page['totalRows']=$totalRows;
$page['totalPage']=$totalPage;
$page['nowPage']=$nowPage;
$page['start']=$start;
$page['end']=$end;
return $page;//返回给调用处。。赋值。
前端展示页
上一页
{$i}
{$i}
下一页
跳转
调用
$page=$this->CreatePage($this->obj,$this->size,$map);
//此处为TP的查询操作。
$data=$this->obj
->where($map)
->field('del,sequence,channel',true)
//重点是这里。$page['nowPage']页码。
//$this->size 显示的条数
->page($page['nowPage'],$this->size)
->order('sequence')
->select()