学习PHP,一定会遇到操作MYSQL数据库,而且会对数据库里的数据做分页显示出来的问题,下面写一个小例子学习一下PHP分页的方法。
PHP分页有很多方法,今天我们就用一个小例子演示一下这个功能。
$result = "<div class=https://www.jb51.net/article/\"page-num\"><ul class=https://www.jb51.net/article/\"fn-clear\">";
// 上一页
if ($offset>0) {
$result .= "<li>
<a href=https://www.jb51.net/article/\"".$url.'offset='.($offset-$maxrow)."https://www.jb51.net/article/\">Prev</a>
</li>";
}
$pages = $allPageNums; //总页数
$page = $curPage; //当前页数
$page_len = 9;
$page_len = ($page_len%2)?$page_len:$pagelen+1;//页码个数
$pageoffset = ($page_len-1)/2;//页码个数左右偏移量
if($pages>$page_len){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max_p = $page_len;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
$max_p = $pages;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max_p = $page+$pageoffset;
}
}
} else {
$init = 1;
$max_p = $pages;
}
for($i=$init; $i<=$max_p; $i++) {
if ( $i == $curPage ) {
$result .= "<li class=https://www.jb51.net/article/\"on\"><a href=https://www.jb51.net/article/\"".$url.'offset='.($i*$maxrow)."https://www.jb51.net/article/\" >$i</a></li>";
continue;
}
$result .= "<li><a href=https://www.jb51.net/article/\"".$url.'offset='.(($i-1)*$maxrow)."https://www.jb51.net/article/\">$i</a></li>";
}
// 打印下一页
if ( $allnums > ($offset+$maxrow) ) {
$result .= "<li>
<a href=https://www.jb51.net/article/\"".$url.'offset='.($offset+$maxrow)."https://www.jb51.net/article/\">Next</a>
</li>";
}
您可能感兴趣的文章: