首页 > php教程 > php手册 > 正文

自写数字分页函数

php中文网
发布: 2016-06-07 11:37:22
原创
1437人浏览过

自用的分页,代替系统page类的一些功能。可以实现数字分页功能。
用 thinkphp 也好久了。 不过一直没用他的page分页类,因为。。真心不好用。
好久之前就自己鼓捣了一个 分页函数,以代替page的功能。
下面分享一下吧。
主要是两个函数。 一个是正常的page分页功能,还有一个是获取 数字分页功能
如: 1 2 3 4 5 6 这样的分页。
function getShowPages($count,$page,$pagesize)
{
if($page == 0) {$page = 1;}
if(empty($count)){$count=0;}
$firstRow = ($page - 1) * $pagesize;
$countpage = intval($count / $pagesize);
if (($count / $pagesize) > $countpage) {
$countpage = $countpage + 1;
}
if ($page > 1) {
$uppage = $page - 1;
} else {
$uppage = 1;
}
if ($page $nextpage = $page + 1;
} else {
$nextpage = $countpage;
}
$showpage['firstRow'] = $firstRow; //首页
$showpage['count'] = $count; //总记录数
$showpage['countpage'] = $countpage; // 总页面数
$showpage['pagesize'] = $pagesize; //页面大小
$showpage['page'] = $page; //当前页
$showpage['uppage'] = $uppage; //上一页
$showpage['nextpage'] = $nextpage; //下一页
return $showpage;
}
//tpl是分页模板 notpl 是当前页不需要链接 page 是当前页 countpage 是总页数
function getPages($tpl,$notpl,$page,$countpage){
$pages="";
if($countpage==1)
{
$pages=str_replace("[page]",$page,$notpl);
}
else
{
if($page>5)
{
$p_s=$page-5;
}
else
{
$p_s=1;
}
if(($page+5)>=$countpage)
{
$p_e=$countpage;
}
else
{
$p_e=$page+5;
}

if($page10)
{
$p_e=$p_e+(10-$p_e);
}

for(;$p_s {
if($p_s==$page)
{
$pages_tmp=str_replace("[page]",$p_s,$notpl);
}
else
{
$pages_tmp=str_replace("[page]",$p_s,$tpl);
}
$pages.=$pages_tmp;
}
//if(floor($page%10)==0)
}
return $pages;
}
调用方法:

$count = $M->where($where)->count(); //获取总记录数 自己搞 where
$ShowPage = getShowPages($count, $page, 16); /$count 是上面的记录数 $page是当前页 16 是页面大小
$list = $M->where($where)->order('id desc')->limit($ShowPage['firstRow'] . ',' . $ShowPage['pagesize'])->select(); // 调取相应页面的数据
$this->assign('list', $list);
$this->assign('ShowPage', $ShowPage); //模板赋值
PHP方面基本结束。

模板部分:

//判断是否有多页。只有一页的话不显示分页。


    //判断是否第一页 第一页不显示 上一页
  • 上一页

  • echo getPages('
  • [page]
  • ','
  • [page]
  • ',$ShowPage['page'],$ShowPage['countpage']);
    //这个根据自己需要调用,显示入 1 2 3 4 5 6 这种序号分页
    //判断是否是最后一页 最后一页不显示 下一页
  • ...
  • 下一页>




上面需要说明的是:$urltail 这个变量因为我项目单页里集成了所有查询,用来固定URL的。getPages 函数的传参应该不难理解。
代码是自用,比较乱,轻喷。
转载请保留原文地址:http://www.526net.com/blog/qianduan/665.html

AD:真正免费,域名+虚机+企业邮箱=0元

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号