分页对于做开发的朋友来讲肯定是非常的有用了,今天我们一起来看一篇关于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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









