php分页效果实现_php实现的漂亮分页效果

/**

* 获取分页的HTML内容

* @param integer $page 当前页

* @param integer $pages 总页数

* @param string $url 跳转url地址 最后的页数以 '&page=x' 追加在url后面

*

* @return string HTML内容;

*/

public static function getPageHtml($page, $pages, $url){

//最多显示多少个页码

$_pageNum = 5;

//当前页面小于1 则为1

$page = $page<1?1:$page;

//当前页大于总页数 则为总页数

$page = $page > $pages ? $pages : $page;

//页数小当前页 则为当前页

$pages = $pages 

//计算开始页

$_start = $page - floor($_pageNum/2);

$_start = $_start<1 ? 1 : $_start;

//计算结束页

$_end = $page + floor($_pageNum/2);

$_end = $_end>$pages? $pages : $_end;

//当前显示的页码个数不够最大页码数,在进行左右调整

$_curPageNum = $_end-$_start+1;

//左调整

if($_curPageNum1){

$_start = $_start - ($_pageNum-$_curPageNum);

$_start = $_start<1 ? 1 : $_start;

$_curPageNum = $_end-$_start+1;

}

//右边调整

if($_curPageNum

$_end = $_end + ($_pageNum-$_curPageNum);

$_end = $_end>$pages? $pages : $_end;

}

$_pageHtml = '

  • ';

/*if($_start == 1){

$_pageHtml .= '

«';

}else{

$_pageHtml .= '

«';

}*/

if($page>1){

$_pageHtml .= '

«';

}

for ($i = $_start; $i <= $_end; $i++) {

if($i == $page){

$_pageHtml .= '

'.$i.'';

}else{

$_pageHtml .= '

'.$i.'';

}

}

/*if($_end == $pages){

$_pageHtml .= '

»';

}else{

$_pageHtml .= '

»';

}*/

if($page

$_pageHtml .= '

»';

}

$_pageHtml .= '

';

echo $_pageHtml;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值