为了账号安全,请及时绑定邮箱和手机立即绑定

php面向对象分页类代码

标签:
PHP

<?php

//自定义分页类

class Page

{

public $page=1; //当前页

public $pageSize=5; //页大小

public $maxPage=0; //最大页数

public $maxRows=0; //最大数据条

public $url =null; //访问的url地址

public $params=null; //url的参数条件

public function __construct($maxRows,$pageSize=5){

$this->maxRows = $maxRows;

$this->pageSize= $pageSize;

//获取当前页

$this->page = isset($_GET['p'])?$_GET['p']:1;

$this->getMaxPage();

$this->checkPage();

//获取和封装url地址

$this->url = $_SERVER["PHP_SELF"];

$this->getParams();

}

//获取分页信息

public function limit(){

return (($this->page-1)*$this->pageSize).",".$this->pageSize;

}

//计算分页中的最大页数

private function getMaxPage(){

$this->maxPage = ceil($this->maxRows/$this->pageSize);

}

//判断当前页数是否越界

private function checkPage(){

if($this->page>$this->maxPage){

$this->page = $this->maxPage;

}

if($this->page<1){

$this->page=1;

}

}

//封装url上搜索条件

private function getParams(){

foreach($_GET as $k=>$v){

if($k!="p" && !empty($v)){

$this->params.="&{$k}={$v}";

}

}

}

//生成分页HTML代码

public function show(){

$str = "";

$str.= "当前第{$this->page}/{$this->maxPage}页 共计{$this->maxRows}条 ";

$str.= " <a href='{$this->url}?p=1{$this->params}'>首页</a> ";

$str.= " <a href='{$this->url}?p=".($this->page-1)."{$this->params}'>上一页</a> ";

$str.= " <a href='{$this->url}?p=".($this->page+1)."{$this->params}'>下一页</a> ";

$str.= " <a href='{$this->url}?p={$this->maxPage}{$this->params}'>末页</a> ";

return $str;

}

}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消