php自定义分页类
2024-10-15 07:30:26
<?php
class Paging
{
private $totalStrip; //总条数
private $pageStrip; //每页条数
private $totalPages; //总页数
private $url; //当前页面的url
private $nowPage; //当前的页码
private $aroundPage; //当前页左右条数
public function __construct($totalStrip,$pageStrip,$aroundPage)
{
$this->totalStrip = $totalStrip; //总条数
$this->pageStrip = $pageStrip??5; //每页条数
$this->totalPages = $this->getTotalPages();//总页数
$this->url = $this->getUrl(); //当前页面的url
$this->nowPage = $this->getNowPage(); //当前的页码
$this->aroundPage = $aroundPage??2; //当前页左右条数
}
//总页数
private function getTotalPages()
{
return ceil($this->totalStrip/$this->pageStrip);
}
//当前页面的url
private function getUrl()
{
return $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
}
//当前的页码
private function getNowPage()
{
return isset($_GET['page'])?$_GET['page']:1;
}
//首页
private function firstPage()
{
return "<a href='{$this->url}?page=1'>首页</a>";
}
//上一页
private function prevPage()
{
$prevPage = $this->nowPage - 1;
return "<a href='{$this->url}?page={$prevPage}'>上一页</a>";
}
//当前页之前
private function leftPage()
{
$str = '';
for($i=$this->aroundPage; $i >= 1; $i--){
$Page = $this->nowPage-$i;
if($Page > 0){
$str .= "<a href='{$this->url}?page=$Page'>$Page</a>";
} }
return $str;
}
//当前页
private function toNowPage()
{
return "<a>$this->nowPage</a>";
}
//当前页之后
private function rightPage()
{
$str = '';
for($i=1; $i <= $this->aroundPage; $i++){
$Page = $this->nowPage+$i;
if($Page < $this->totalPages) {
$str .= "<a href='{$this->url}?page=$Page'>$Page</a>";
}
}
return $str;
}
//下一页
private function nextPage()
{
$nextPage = $this->nowPage + 1;
return "<a href='{$this->url}?page={$nextPage}'>下一页</a>";
}
//尾页
private function lastPage()
{
return "<a href='{$this->url}?page=$this->totalPages'>尾页</a>";
}
public function show()
{
$str = "";
if($this->nowPage > 1){
$str .= $this->firstPage();
$str .= $this->prevPage();
$str .= $this->leftPage();
} $str .= $this->toNowPage();
if($this->nowPage < $this->totalPages){
$str .= $this->rightPage();
$str .= $this->nextPage();
$str .= $this->lastPage();
} return $str;
}
}
//$a = new Paging(20,3,2);
//echo $a->show();
最新文章
- Oracle补习班第七天
- Python中dict的特点、更新dict、遍历dict
- 打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹
- 遭遇Asp.Net长文件名下载的问题和解决办法
- thinkphp中的分表方法
- dubbo-RPC学习(一)自定义配置
- JDBC、Hibernate、Mybaites处理数据的流程及对DAO的理解
- OC运行时和方法机制笔记
- java基础面试
- ECMAScript 6 笔记(六)
- Android进程间通信与数据共享(ppt)
- JAX-WS Web Service小试牛刀
- Python yield 函数功能
- org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: c
- node版本管理工具nvm安装以及使用
- C的内存泄漏检测
- (转) UDP包的大小与MTU
- 【appium】根据id定位元素
- Oracle数据库的一些视图
- OC 里面 webView与js
热门文章
- CF -1679C
- 06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
- 5.云原生之Docker容器网络介绍与实践
- ProxySQL查看所有的全局变量及更新操作
- 配置Pod的 /etc/hosts
- 使用Docker方式部署Mongodb多副本集(replSet)
- Linux下登陆MySQL时遇到报错";RROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES) ";
- .Net 7内容汇总(3)--反射优化
- PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程
- 邻接矩阵dfs