为了账号安全,请及时绑定邮箱和手机立即绑定

【扩展】接上个问题已经研究出来了,拿出来给大家分享一下,分页

先上效果图

前几页的效果图

http://img1.sycdn.imooc.com//5501789500014ca504570043.jpg


中间

http://img1.sycdn.imooc.com//550178a10001f46e05120052.jpg


最后几页

550175850001895505000047.jpg

其实很简单,在showPage方法里把下面这一段换一下

但注意,这个是用于总页码数比较大的情况。

我还没写判断,可以做个判断,定义$totalPage大于某个值时再用


 for($i = 1; $i <= $totalPage; $i ++) {
    if ($page == $i) {
        $p .= "[{$i}]";
    } else {
        $p .= "<a href='{$url}?page={$i}'>[{$i}]</a>";
    }
 }

改成

$size=5;    //这个值可以自由定义
if ($page>=1&&$page<$size){
        for ($i=1;$i<$size;$i++){
        $p.="<a href='{$url}?page={$i}'>[$i]</a>";
      }
    $p.="..."."<a href='{$url}?page={$totalPage}'>[$totalPage]</a>";
}elseif ($page>$totalPage-$size+1&&$page<=$totalPage){
        for ($i=$totalPage-$size+1;$i<=$totalPage;$i++){
        $p.="<a href='{$url}?page={$i}'>[$i]</a>";
      }
    $p="<a href='{$url}?page=1'>[1]</a>"."...".$p;
}else {
        for ($i=$page-2;$i<=$page+2;$i++){
        $p.="<a href='{$url}?page={$i}'>[$i]</a>";
      }
    $p="<a href='{$url}?page=1'>[1]</a>"."...".$p."..."."<a href='{$url}?page={$totalPage}'>[$totalPage]</a>";
}


正在回答

2 回答

http://img1.sycdn.imooc.com//551a7d160001576e02140035.jpg

嘿嘿,没事无聊,又加了这么一个功能,

0 回复 有任何疑惑可以回复我~
function showPage($page,$totalPage) {
    $url = $_SERVER ['PHP_SELF'];
    $index = ($page == 1) ? "首页" : "<a href='{$url}?page=1'>首页</a>";
    $last = ($page == $totalPage) ? "尾页" : "<a href='{$url}?page={$totalPage}'>尾页</a>";
    $prev = ($page == 1) ? "上一页" : "<a href='{$url}?page=" . ($page - 1) . "'>上一页</a>";
    $next = ($page == $totalPage) ? "下一页" : "<a href='{$url}?page=" . ($page + 1) . "'>下一页</a>";
    $str = "总共有{$totalPage}页/当前是{$page}页";
    $size=5;
        if ($totalPage<$size+1){
            for($i = 1; $i <= $totalPage; $i ++) {
                if ($page == $i) {
                    $p .= "[{$i}]";
                } else {
                $p .= "<a href='{$url}?page={$i}'>[{$i}]</a>";
                }
            }
        }else {
            if ($page>=1&&$page<$size){
                for ($i=1;$i<$size;$i++){
                    $p.="<a href='{$url}?page={$i}'>[$i]</a>";
                }
                $p.="..."."<a href='{$url}?page={$totalPage}'>[$totalPage]</a>";
            }elseif ($page>$totalPage-$size+1&&$page<=$totalPage){
                for ($i=$totalPage-$size+1;$i<=$totalPage;$i++){
                    $p.="<a href='{$url}?page={$i}'>[$i]</a>";
                }
                $p="<a href='{$url}?page=1'>[1]</a>"."...".$p;
            }else {
                for ($i=$page-2;$i<=$page+2;$i++){
                    $p.="<a href='{$url}?page={$i}'>[$i]</a>";
                }
                $p="<a href='{$url}?page=1'>[1]</a>"."...".$p."..."."<a href='{$url}?page={$totalPage}'>[$totalPage]</a>";
            }
      }
$pageStr = $str . "&nbsp;&nbsp;&nbsp;" . $index ."&nbsp;". $prev ."&nbsp;". $p ."&nbsp;". $next ."&nbsp;". $last;
return $pageStr;
}


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117285    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

【扩展】接上个问题已经研究出来了,拿出来给大家分享一下,分页

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信