分页对于做开发的朋友来讲肯定是非常的有用了,今天我们一起来看一篇关于PHP生成分页下标生成例子 ,希望文章能够帮助到各位朋友。
例子一
网页的分页选择效果直接影响用户的使用体验。类似功能的方法有很多,我在这里写的方法主要是的优势在于前后端分离,可以自己定义长度和分页的行数。


例子
/**
*
* @param $page 页码(1至正无穷)
* @param $num 数据中多上行为一页
* @param $rows 数据的总行数
* @param $length 下标的最大长度
* @return array
*/
public function PageDate($page, $num , $rows , $length){
//初始化数据
$MaxPage = 0; //最大页码
$MinPage = 0; //最小页码
$ServerPage = 0; //下拉框中显示的页码
$PageData = array(); //全部的页码集合(用户下拉框选择)
$PageShowData = array(); //用于显示下标的页码集合
$page = intval($page);
if($rows == 0){
return $data = array(
'page' => $page,
'MaxPage' => $MaxPage,
'MinPage' => $MinPage,
'ServerPage' => $ServerPage,
'PageData' => $PageData,
'PageShowData' => $PageShowData
);
}
//得到最大分页和最小分页
$MaxPage = intval($rows / $num);
$double = $rows % $num;
if($double > 0.000000001)
{
$MaxPage += 1;
}
$MinPage = 1;
$ServerPage = 1;
//得到页码的全部项目
for($i = 1; $i
$PageData[$i] = $i;
}
//对页码进行正确性改正
if($page
$page = 1;
}
if($page > $MaxPage){
$page = 1;
}
/*生成显示的页码标签*/
//生成左侧的代码快
if($page == $MinPage){
$PageShowData[1] = $page;
}
if($page > $MinPage){
$PageShowData[1] = $MinPage;
// $PageShowData[2] = $page - 1; //
$PageShowData[2] = '
if($page -2 > $MinPage ){
$PageShowData[3] = $page - 2;
$PageShowData[4] = $page - 1;
}elseif($page -2 == $MinPage){
$PageShowData[3] = $page - 1;
}
//确定选中的页码代码快
$PageShowData[count($PageShowData) + 1] = $page;
}
$COUNT = count($PageShowData) + 1;
//生成右侧的代码块
if($page == $MaxPage){
return $data = array(
'page' => $page,
'MaxPage' => $MaxPage,
'MinPage' => $MinPage,
'ServerPage' => $ServerPage,
'PageData' => $PageData,
'PageShowData' => $PageShowData
);
}
if($page
if($MaxPage - $page >= 2){
$j = 1;
for($i = $COUNT; $i
$PageShowData[$i] = $page + $j;
$j ++;
if($PageShowData[$i] == $MaxPage -1){
break;
}
}
}
$COUNT = count($PageShowData) + 1;
// $PageShowData[$COUNT] = $page + 1; //>>
$PageShowData[$COUNT] = '>>';
$PageShowData[$COUNT + 1] = $MaxPage;
//得到选中的参数
$ServerPage = $PageShowData[$COUNT-1] + 1;
if($ServerPage > $MaxPage){
$ServerPage = 1;
}
return $data = array(
'page' => $page,
'MaxPage' => $MaxPage,
'MinPage' => $MinPage,
'ServerPage' => $ServerPage,
'PageData' => $PageData,
'PageShowData' => $PageShowData
);
}
}
例子二
这样在某些情况下会严重影响页面的布局,而且文章页面过多全部显示出来的话 ,也会影响用户体验,因此这篇教程围绕dede分页数量无法控制的问题,以修改{dede:pagebreak/}标签为主进行讲解。

这是分了15页,假如更多呢,不感想象,自己辛苦花钱做出来的模板就完全走样了!



找到
$totallist=7+$nowPage;//这里是要显示几页,如果是10页就写9
if($totallist>$totalPage){
$totallist=$totalPage;
}
$d=$nowPage;
$dqys=$totallist-($d-1);
if($dqys $d=$totalPage-7;
}
}else{
$totallist=$totalPage;
$d=1;
}
for($i=1;$i

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具