PHP基于Bootstrap的分页

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoyanyanlh/article/details/82593947

PHP基于Bootstrap的分页

首先是效果图.(PHP我用的是Yaf框架)
这里写图片描述

1.HTML页面

<nav aria-label="Page navigation" style="float:right;">
    <ul class="pagination">
       <?php echo $pageNumString?>
    </ul>
</nav>

2.PHP代码

    //用户列表
    public function userlistAction() 
    {
        //分页
        //当前页,默认为1
        $curPage = isset($_GET['curPage']) ? $_GET['curPage'] : 1;

        //获取所有的用户数据
        // 在 getTotalRows() 里面我是用count(id) as total 查询的
        $totalRows = $this->_db->getTotalRows();
        $totalRows = $totalRows['total'];

        //自定义一个最大的页码数
        $rowsPerPage = 10;

        //获取数据
        $offset = ($curPage - 1) * $rowsPerPage;

         //查询每页用户列表
         // 在 selectAll() 中,根据偏移量,使用limit 查询每页的数据
        $ret = $this->_db->selectAll($offset, $rowsPerPage);

        //总页数
        $totalpage = ceil($totalRows / $rowsPerPage);

        //存储页面字符串
        $pageNumString = '';

        if ($curPage <= 5) {
            $begin = 1;
            $end = $totalpage >= 10 ? 10 : $totalpage;
        } else {
            $end = $curPage + 5 > $totalpage ? $totalpage : $curPage + 5;
            $begin = $end - 9 <= 1 ? 1 : $end - 9;
        }

        //上一页
        $prev = $curPage - 1 <= 1 ? 1: $curPage - 1;
        $pageNumString .= "<li><a href='/user/userlist?curPage=1'>首页</a></li>";
        $pageNumString .= "<li><a href='/user/userlist?curPage=$prev'>&laquo;</a></li>";

        //根据起始页与终止页将当前页面的页码显示出来
        for ($i = $begin; $i <= $end;$i ++) {
            //使用if实现高亮显示当前点击的页码
            //这是 bootstrap的全局样式
            if ($curPage == $i) {
                $pageNumString .= "<li class='active'><a href='/user/userlist?curPage=$i'>$i</a></li>";
            } else {
                $pageNumString .= "<li><a href='/user/userlist?curPage=$i'>$i</a></li>";
            }
        }

        //实现下一页
        $next = $curPage + 1 >= $totalpage ? $totalpage : $curPage + 1;
        $pageNumString .= "<li><a href='/user/userlist?curPage=$next'>&raquo;</a></li>";
        $pageNumString .= "<li><a href='/user/userlist?curPage=$totalpage'>尾页</a></li>";

        $this->getView()->assign('pageNumString', $pageNumString);     
        $this->getView()->assign("ret",$ret);
    }

猜你喜欢

转载自blog.csdn.net/xiaoyanyanlh/article/details/82593947