首页 > 编程 > PHP > 正文

php实现分页工具类分享

2020-03-22 17:02:50
字体:
来源:转载
供稿:网友
代码:
复制代码 代码如下:
/**
* 把中间的看成一个可以滑动的固定长度的尺子
*
* 把$this- _totalShowPages 当成一个可以滑动的固定长度尺子,
* 然后$this- _totalPages就是一个给定长度的木块,尺子在这个
* 木块上滑动。情况两种:
* 1. 尺子长度大于木块长度,那么就直接输出所有的页码;
* 2. 尺子长度小于木块长度,那么就只用找到输出这个尺子长度页
* 数的起始点——$start, $end;
* @Access protected
* @Return void
* @Exception none
*/
protected function _getShowPageNumber()
{
$pageHtml = '';
//找到$start点
if($this- _curPage - 2 1) {
$start = $this- _curPage - 2;
} else {
$start = 1;
}
//找到$end 点
$end = $start + $this- _totalShowPages;
if($end = $this- _totalPages) {
$end = $this- _totalPages;
$start = $end - $this- _totalShowPages; //保证页面显示的长度为$this- _totalShowPages
}
if($start != 1) {
$pageHtml .= $this- _getPageHtml(1);
$preMore = $this- _curPage - $this- _totalShowPages;
if($preMore 1) {
$preMore = 1;
}
$pageHtml .= $this- _getMorePageHtml($preMore);
}
for($page = $start; $page $end; $page ++) {
$pageHtml .= $this- _getPageHtml($page);
}
if($end != $this- _totalPages) {
$pageHtml .= $this- _getMorePageHtml($end);
}
$pageHtml .= $this- _getNormalPageHtml($this- _totalPages);

return $pageHtml;
}
第一种老想法的代码实现:复制代码 代码如下:
/**
* 一步步的来
*
* @desc
*
* @Access protected
* @Return void
* @Exception none
*/
protected function _getShowPageNumberTwo()
{
if($this- _curPage $this- _totalShowPages) {
for($page = 1; $page $this- _totalShowPages; $page ++) {
$pageHtml .= $this- _getPageHtml($page);
}
$pageHtml .= $this- _getMorePageHtml($this- _totalShowPages);
$pageHtml .= $this- _getNormalPageHtml($this- _totalPages);
} else {
$pageHtml .= $this- _getNormalPageHtml(1);
if($this- _curPage == $this- _totalShowPages) {
$pageHtml .= $this- _getMorePageHtml(1);
} else {
$pageHtml .= $this- _getMorePageHtml($this- _curPage - $this- _totalShowPages);
}
if($this- _curPage + $this- _totalShowPages = $this- _totalPages) {
for($page = $this- _totalPages - $this- _totalShowPages; $page = $this- _totalPages; $page ++) {
$pageHtml .= $this- _getPageHtml($page);
}
} else {
$start = $this- _curPage - 2;
$end = $this- _curPage + $this- _totalShowPages - 2;
for($page = $start; $page $end; $page ++) {
$pageHtml .= $this- _getPageHtml($page);
}
$pageHtml .= $this- _getMorePageHtml($this- _curPage + $this- _totalShowPages - 2);
$pageHtml .= $this- _getNormalPageHtml($this- _totalPages);
}
}

return $pageHtml;
}
PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表