分页

/**
*
*分页函数
*当$max>=5默认显示5个条页码,<5正常显示
*@param int $num文章数
*@param int $cnt每页显示条数
*@param int $curr当前页
*@return array 返回拼接的每页的url参数 
*/
function getPage($num,$cnt,$curr){
    //获取最大页码
    $max=ceil($num/$cnt);
    //判断显示页码的最左边的位置
    $left=max($curr-2,1);
    //最右边页码
    $right=min($left+4,$max);
    //存在一种情况是,当共9页,当前处于8页,页面只会显示4个分页,所以需要根据$right重新定义下left
    $left=max($right-4,1);
    //将获取到的页码放到数组中返回,因为对于index页面,存在两个查询,一个时根据栏目查询(有参数cat_id),一个查询吃总的栏目,所以需要用http_build_query()函数来保留原有的参数
    for($i=$left;$i<=$right;$i++){
        $_GET['page']=$i;//模拟url输出格式是?page=$i,与原有的参数拼接
        $page[$i]=http_build_query($_GET);
    }
    return $page;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容