一个通用分页函数。。
时间:2008-11-27
来源:互联网
#*********************************************************
#经典分页导航分页函数
[email=#@param]#@param[/email] url 跳转URL
[email=#@param]#@param[/email] num 总记录数
[email=#@param]#@param[/email] totalPages 总页数
[email=#@param]#@param[/email] currentPage 当前页码
[email=#@param]#@param[/email] maxPerPage 每页显示数
#*********************************************************
function cut_page($url,$num,$totalPages,$currentPage,$maxPerPage)
{
$url .= strpos($url, '?') ? '&' : '?'; //为URL加上?号或&号。
$realPages = $totalPages;
$page_info = "<div class='cut_page'><div class='num'>";
$page_info .= "<span class='normal'> 共:" . $num . '条/' . $realPages . '页 每页/' . $maxPerPage . '条</span>';
if ( (($realPages > 1) && ($realPages == $currentPage)) || (($currentPage != 1) && ($realPages != $currentPage)) ){
$page_info .= "<a href='" . $url . 'page=' . intval($currentPage-1) . "'>上一页</a>";
}
$page_info .= "<a href='" . $url . "page=1'>页首</a>";
if ($currentPage > 4){
$page_info .= "<a href='" . $url . "page=1'>[1]</a><span class='dot'>...</span>";
}
$endpage = $realPages > $currentPage+2 ? $currentPage+2 : $realPages; //位移为2
for ($n = ($currentPage-2); $n <= $endpage; $n++){
if (!($n < 1)){
if ($n == intval($currentPage)){
$page_info .= "<span class='normal'>" . $n . '</span>';
}else{
$page_info .= "<a href='" . $url . 'page=' . $n . "'>[" . $n . ']</a>';
}
}
}
if ($currentPage+2 < $realPages){
$page_info .= "<span class='dot'>...</span><a href='" . $url . 'page=' . $realPages . "'>[" . $realPages . ']</a>';
}
$page_info .= "<a href='" . $url . 'page=' . $realPages . "'>页尾</a>";
if ( (($currentPage == 1) && ($realPages != $currentPage) && ($realPages != 0)) || (($currentPage != 1) && ($realPages != $currentPage)) ){
$page_info .= "<a href='" . $url . 'page=' . intval($currentPage + 1) . "'>下一页</a>";
}
if($totalPages > 0){
$page_info .= "<form name='form_cut' id='form_cut' class='form_cut' method='post' action='" . $url . "'>";
$page_info .= "<select name='page' class='cut_select' id='page' onChange='document.form_cut.submit();'>";
for($j=1; $j<=$totalPages; $j++){
if($j == $currentPage){
$page_info .= "<option value='" . $j . "' selected='selected'>第". $j . "页</option>";
}else{
$page_info .= "<option value='" . $j . "'>第". $j . "页</option>";
}
}
$page_info .= "</select>";
$page_info .= '</form>';
}
$page_info .= "</div></div>";
return $page_info;
}
[/php]

作者: lyongde 发布时间: 2008-11-27
作者: lyongde 发布时间: 2008-11-27
作者: 0hudu 发布时间: 2008-11-27
作者: poppub 发布时间: 2008-11-28
作者: caic 发布时间: 2008-12-02
作者: whzyjsxy 发布时间: 2008-12-08
作者: abcnic 发布时间: 2008-12-09
作者: kszhang 发布时间: 2009-01-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28