从DZ提取出来的分页函数,自己修改了一些
时间:2008-10-22
来源:互联网
个人觉得DZ的分页函数不错,我做东西用的分页函数基本上都是用这个,自己修改了一下,去掉一些不必要的东西。分享一下。/**
* DZ分页函数
*
* @param int $num 总数
* @param int $perpage 每页显示数量
* @param int $curpage 当前页
* @param string $mpurl 传递的URL
* @param int $page 显示的页数,默认为10
*
* @return string
*/
function multi($num, $perpage, $curpage, $mpurl, $page = 10) {
$curpage = $curpage ? $curpage : 1;
$multipage = '';
$mpurl .= strpos($mpurl, '?') ? '&' : '?';
$pages = 1;//总页数
if($num > $perpage) {
$offset = $page - 1;
$pages = @ceil($num / $perpage);
if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $curpage - $offset;
$to = $from + $page - 1;
if($from < 1) {
$to = $page;//$curpage + 1 - $from;
$from = 1;
if($to - $from < $page) {
$to = $page;
}
} elseif($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
}
$curpage = $curpage <= $pages ? $curpage : $pages;
$multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first">1 ...</a>' : '').
($curpage > 1 ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev">‹‹</a>' : '');
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
'<a href="'.$mpurl.'page='.$i.'">'.$i.'</a>';
}
$multipage .= ($curpage < $pages ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next">››</a>' : '').
($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last">... '.$pages.'</a>' : '').
($pages > $page ? '<kbd><input type="text" name="custompage" size="3" /></kbd>' : '');
$multipage = $multipage ? '<div class="pages">'.('<em> '.$num.' </em>').$multipage.'</div>' : '';
}
return $multipage;
}
附件含演示。
* DZ分页函数
*
* @param int $num 总数
* @param int $perpage 每页显示数量
* @param int $curpage 当前页
* @param string $mpurl 传递的URL
* @param int $page 显示的页数,默认为10
*
* @return string
*/
function multi($num, $perpage, $curpage, $mpurl, $page = 10) {
$curpage = $curpage ? $curpage : 1;
$multipage = '';
$mpurl .= strpos($mpurl, '?') ? '&' : '?';
$pages = 1;//总页数
if($num > $perpage) {
$offset = $page - 1;
$pages = @ceil($num / $perpage);
if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $curpage - $offset;
$to = $from + $page - 1;
if($from < 1) {
$to = $page;//$curpage + 1 - $from;
$from = 1;
if($to - $from < $page) {
$to = $page;
}
} elseif($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
}
$curpage = $curpage <= $pages ? $curpage : $pages;
$multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first">1 ...</a>' : '').
($curpage > 1 ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev">‹‹</a>' : '');
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
'<a href="'.$mpurl.'page='.$i.'">'.$i.'</a>';
}
$multipage .= ($curpage < $pages ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next">››</a>' : '').
($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last">... '.$pages.'</a>' : '').
($pages > $page ? '<kbd><input type="text" name="custompage" size="3" /></kbd>' : '');
$multipage = $multipage ? '<div class="pages">'.('<em> '.$num.' </em>').$multipage.'</div>' : '';
}
return $multipage;
}
附件含演示。
dz.jpg (4.15 KB)
作者: xanxin 发布时间: 2008-10-22
我用的也是这个,感觉很不错的
作者: Gareth 发布时间: 2008-10-22



作者: nianjin 发布时间: 2008-10-23
大道至简
作者: 0hudu 发布时间: 2008-10-25
支持

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