|
之前每次遇到分页,总是得自己写,觉得挺繁琐的,所以本着通用的原则,写了一个分页的方法,特此记录。
目前此分页支持静态化地址分页和无链接地址时的ajax分页(但是js得自己写):
支持的静态地址如下:www.example.com/xxx-xxx-p1-xxxx-xx.html
其他形式静态化需根据自己情况进行改写
支持ajax方式分页时,$link参数为空,但提供了pid和optype,其中pid用于获取该页码页数,optype用于一个页面存在多个分页时区分当前触发动作属于哪个分页逻辑
[U]复制代码[/U] 代码如下:
/**********************************************************
*
* 获取页码
*
**********************************************************
*
* @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!=''?'[url='.preg_replace(]= $intTotal )
{
for($i=1;$i…[url='.preg_replace(]'.$intTotal.'[/url]':'…'.$intTotal.'';
}
elseif(($intTotal-$intPage) …':'1…';
for($i = ($intTotal + 1 - $intSize);$i++;$i 2)
{
$strPage .= '…';
}
for($i=(($intPage - $intOffset)=$intTotal?($intTotal-1) $intPage + $intOffset));$i++)
{
$strClass = $i == $intPage ? 'class="g_serpagcur"' : "";
$strPage .= $link!=''?'[url='.preg_replace(]'.$i.'[/url]':''.$i.'';
}
if( ($intPage - $intOffset) …';
}
$strPage .= $link!=''?'[url='.preg_replace(]'.$intTotal.'[/url]':''.$intTotal.'';
}
}
if($intPage >[/url]':'下一页>>';
}
else
{
$strPage .= '下一页>>';
}
}
$strPage .= "";
return $strPage;
}
您可能感兴趣的文章:php ajax无刷新分页,支持id定位php,ajax实现分页PHP ajax 分页类代码ajax实现无刷新分页(php)php ajax 静态分页过程形式使用PHP+JQuery+Ajax分页的实现php+ajax实现无刷新分页的方法jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用详解PHP+AJAX无刷新分页实现方法PHP+JQuery+Ajax实现分页方法详解
|
|