<?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();

  

最新文章

  1. Oracle补习班第七天
  2. Python中dict的特点、更新dict、遍历dict
  3. 打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹
  4. 遭遇Asp.Net长文件名下载的问题和解决办法
  5. thinkphp中的分表方法
  6. dubbo-RPC学习(一)自定义配置
  7. JDBC、Hibernate、Mybaites处理数据的流程及对DAO的理解
  8. OC运行时和方法机制笔记
  9. java基础面试
  10. ECMAScript 6 笔记(六)
  11. Android进程间通信与数据共享(ppt)
  12. JAX-WS Web Service小试牛刀
  13. Python yield 函数功能
  14. org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: c
  15. node版本管理工具nvm安装以及使用
  16. C的内存泄漏检测
  17. (转) UDP包的大小与MTU
  18. 【appium】根据id定位元素
  19. Oracle数据库的一些视图
  20. OC 里面 webView与js

热门文章

  1. CF -1679C
  2. 06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
  3. 5.云原生之Docker容器网络介绍与实践
  4. ProxySQL查看所有的全局变量及更新操作
  5. 配置Pod的 /etc/hosts
  6. 使用Docker方式部署Mongodb多副本集(replSet)
  7. Linux下登陆MySQL时遇到报错&quot;RROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES) &quot;
  8. .Net 7内容汇总(3)--反射优化
  9. PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程
  10. 邻接矩阵dfs