php页码形式分页函数支持静态化地址及ajax分页
Jun 06, 2016 pm 08:23 PM这篇文章主要介绍了php页码形式分页函数,此分页支持静态化地址分页和无链接地址时的ajax分页,需要的朋友可以参考下
之前每次遇到分页,总是得自己写,觉得挺繁琐的,所以本着通用的原则,写了一个分页的方法,特此记录。
目前此分页支持静态化地址分页和无链接地址时的ajax分页(但是js得自己写):
支持的静态地址如下:
其他形式静态化需根据自己情况进行改写
支持ajax方式分页时,$link参数为空,但提供了pid和optype,,其中pid用于获取该页码页数,optype用于一个页面存在多个分页时区分当前触发动作属于哪个分页逻辑
复制代码 代码如下:
/**********************************************************
*
* 获取页码
*
**********************************************************
*
* @params string $link 链接地址(链接为空时可以用ajax翻页)
*
* @params int $intPage 当前页数
*
* @params int $intTotal 总页数
*
* @params int $intSize 要显示的页数个数
*
* @params string $type 链接种类(多个翻页用于区分翻页区域)
*
**********************************************************
*
* @return array
*/
private function formatPage($link="",$intPage,$intTotal,$intSize=3,$type="")
{
$strPage = '
if($intTotal > 0)
{
if($intPage > 1)
$strPage .= $link!=''?'':'';
else
$strPage .= '';
//窗口宽度大于等于总页数
if( ($intSize+2) >= $intTotal )
{
for($i=1;$i{
$strClass = $i == $intPage ? 'class="g_serpagcur"' : "";
$strPage .= $link!=''?''.$i.'':''.$i.'';
}
}
else
{
if($intPage {
for($i=1;$i{
$strClass = $i == $intPage ? 'class="g_serpagcur"' : "";
$strPage .= $link!=''?''.$i.'':''.$i.'';
}
$strPage .= $link!=''?'…'.$intTotal.'':'…'.$intTotal.'';
}
elseif(($intTotal-$intPage) {
$strPage .= $link!=''?'1…':'1…';
for($i = ($intTotal + 1 - $intSize);$i++;$i{
$strClass = $i == $intPage ? 'class="g_serpagcur"' : "";
$strPage .= $link!=''?''.$i.'':''.$i.'';
}
}
else
{
$intOffset = floor($intSize/2);
$strPage .= $link!=''?'1':'1';
if( ($intPage - $intOffset) > 2)
{
$strPage .= '…';
}
for($i=(($intPage - $intOffset)=$intTotal?($intTotal-1):($intPage + $intOffset));$i++)
{
$strClass = $i == $intPage ? 'class="g_serpagcur"' : "";
$strPage .= $link!=''?''.$i.'':''.$i.'';
}
if( ($intPage - $intOffset) {
$strPage .= '…';
}
$strPage .= $link!=''?''.$intTotal.'':''.$intTotal.'';
}
}
if($intPage {
$strPage .= $link!=''?'下一页>>':'下一页>>';
}
else
{
$strPage .= '下一页>>';
}
}
$strPage .= "
return $strPage;
}

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk membuat penomboran tersuai dalam CakePHP?

Pembangunan PHP: Bagaimana untuk melaksanakan pengisihan data jadual dan fungsi halaman

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi paging jadual?

Menggunakan JavaScript untuk melaksanakan paparan halaman data jadual

Amalan komponen Vue: pembangunan komponen halaman

Bagaimana untuk melaksanakan fungsi paging dalam pembangunan teknologi Vue

Penjelasan terperinci tentang prinsip pemalam paging MyBatis

Tutorial pengenalan pembangunan VUE3: menggunakan komponen untuk melaksanakan paging
