Heim >php教程 >php手册 >自写数字分页函数

自写数字分页函数

WBOY
WBOYOriginal
2016-06-07 11:37:221181Durchsuche

自用的分页,代替系统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元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn