您的位置:首页网页设计JSP教程 → 效果不错的PHP分页类代码

效果不错的PHP分页类代码

时间:2010/2/2 11:10:00来源:本站整理作者:我要评论(0)

效果不错的PHP分页类代码:

/**
Example: 
 
$page = (isset($this->params[named][page])) ? $this->params[named][page] : 1;
// 导入分页类
App::import(Vendor, page_class);
// 获取公告总数
$total = $this->Bulletin->getBulletinTotal();
$perpage = ITEMPREPAGE;
$offset = $perpage * ($page - 1);
$pagebar = new Pagebar($total, $page, $offset, $perpage);
$pagenav = $pagebar->construct_page_nav($total, $page, SYSTEMURL . /bulletins/index, null, null);
*/
 
perpage = $perpage;
 
$numpages = ceil($numresults / $this->perpage);
if ($numpages == 0)
{
$numpages = 1;
}
 
if ($page < 1)
{
$page = 1;
}
else if ($page > $numpages)
{
$page = $numpages;
}
 
$limitlower = ($page - 1) * $this->perpage;
$limitupper = ($page) * $this->perpage;
 
if ($limitupper > $numresults)
{
$limitupper = $numresults;
if ($limitlower > $numresults)
{
$limitlower = ($numresults - $this->perpage) - 1;
}
}
if ($limitlower < 0)
{
$limitlower = 0;
}
}
 
/**
* Returns the HTML for multi-page navigation
*
* @param    integer    Total number of items found
* @param    integer    Page number being displayed
* @param    string    Base address for links eg: q.php?t=99{&page=4}
* @param    string    Ending portion of address for links
*
* @return    string    Page navigation HTML
*/
function construct_page_nav($results, $pagenumber, $address, $address2 = , $option = array())
{
$perpage = $this->perpage;
 
$show = array();
$curpage = 0;
$pagenav = ;
$firstlink = ;
$prevlink = ;
$lastlink = ;
$nextlink = ;
 
if ($results <= $perpage)
{
$show[pagenav] = false;
return ;
}
 
$show[pagenav] = true;
 
$total = number_format($results);
$totalpages = ceil($results / $perpage);
 
$show[prev] = false;
$show[next] = false;
$show[first] = false;
$show[last] = false;
 
if ($pagenumber > 1)
{
$prevpage = $pagenumber - 1;
$prevnumbers = $this->fetch_start_end_total_array($prevpage, $perpage, $results);
$show[prev] = true;
}
if ($pagenumber < $totalpages)
{
$nextpage = $pagenumber + 1;
$nextnumbers = $this->fetch_start_end_total_array($nextpage, $perpage, $results);
$show[next] = true;
}
 
// create array of possible relative links that we might have (eg. +10, +20, +50, etc.)
$pagenavsarr = array(10, 50, 100, 500, 1000);
 
$pagenavpages = 5;
 
while ($curpage++ < $totalpages)
{
if (abs($curpage - $pagenumber) >= $pagenavpages AND $pagenavpages != 0)
{
if ($curpage == 1)
{
$firstnumbers = $this->fetch_start_end_total_array(1, $perpage, $results);
$show[first] = true;
}
if ($curpage == $totalpages)
{
$lastnumbers = $this->fetch_start_end_total_array($totalpages, $perpage, $results);
$show[last] = true;
}
// generate relative links (eg. +10,etc).
if (in_array(abs($curpage - $pagenumber), $pagenavsarr) AND $curpage != 1 AND $curpage != $totalpages)
{
$pagenumbers = $this->fetch_start_end_total_array($curpage, $perpage, $results);
$relpage = $curpage - $pagenumber;
 
if ($relpage > 0)
{
$relpage = + . $relpage;
}
 
$pagenav .= " $curpage ";
}
}
else
{
if ($curpage == $pagenumber)
{
$numbers = $this->fetch_start_end_total_array($curpage, $perpage, $results);
$pagenav .= "     $curpage ";
}
else
{
$pagenumbers = $this->fetch_start_end_total_array($curpage, $perpage, $results);
$pagenav .= " $curpage ";
}
}
}
$pagenav = "

".(($show[prev]) ? ("上一页") : ("上一页"))."
 
$pagenav
 
".(($show[next]) ? ("下一页") : ("下一页"))."
 
第 $pagenumber / $totalpages 页,共 $total条记录";
return $pagenav;
}
/**
* Returns an array so you can print Showing results $arr[first] to $arr[last] of $totalresults
*
* @param    integer    Current page number
* @param    integer    Results to show per-page
* @param    integer    Total results found
*
* @return    array    In the format of - array(first => x, last => y)
*/
function fetch_start_end_total_array($pagenumber, $perpage, $total)
{
$first = $perpage * ($pagenumber - 1);
$last = $first + $perpage;
 
if ($last > $total)
{
$last = $total;
}
$first++;
 
return array(first => number_format($first), last => number_format($last));
}
}
?>

相关视频

    没有数据

相关阅读 iPhone数据迁移怎么用 iOS 12.4数据迁移功能使用教程九劫曲诅咒之地符咒效果一览 九劫曲诅咒之地全符咒介绍lol云顶之弈羁绊效果介绍 lol云顶之弈羁绊图一览lol云顶之弈技能装备羁绊效果大全 lol云顶之弈模式攻略大全lol云顶之弈装备合成路线介绍 lol云顶之弈全部装备效果及合成路线lol自走棋种族职业羁绊效果汇总 lol英雄战棋种族职业羁绊效果一览浮岛物语神器大全 浮岛物语全神器效果介绍MORDHAU天赋技能介绍 MORDHAU全天赋效果详解

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 没有查询到任何记录。 几个提升JSP应用程序效率的小方法JAVA面试问题宝典EL表达式语言的基础总结java常用图片读写程序

人气排行 java读取文本文件内容并获取文件大小教你5种JSP页面显示为乱码的解决方法教你java用getAddress方法取得IP地址spring依赖注入的3种实现方式JSP学习心得Java的字符串函数集锦告诉你jsp获取浏览者真实IP地址方法高手谈Java如何进阶