• 技术文章 >php教程 >PHP源码

    Php自用分页函数程序代码

    2016-06-08 17:21:38原创538
    一个简单好用的Php自用分页函数,有需要使用分页函数又不想手写的朋友可进入参考。
    代码如下 复制代码
    /*
    * 前台分页
    *
    * $page_array = array(
    * 'totle' =>10, //总数
    * 'dispage' =>10, //每页显示条数
    * 'url' =>'/article/list/',//url地址
    * 'now_page', =>1, //当前所在页数
    * );
    *
    * @return pagenav
    */
    function front_page( $page_array ){

    //分页判断
    $lastpage = ceil($page_array['total'] / $page_array['dispage']); //最后一页
    $page_array['now_page'] = min( $lastpage , $page_array['now_page'] );//比较当前页数和最后一页
    $prepage = $page_array['now_page'] - 1;//上一页
    $nextpage = ($page_array['now_page'] == $lastpage ? 0 : $page_array['now_page'] + 1 );//下一页
    $firstcount = ($page_array['now_page']-1) * $page_array['dispage'];
    if( $lastpage <= 1) return false;//最后一页小于1,则直接返回

    //首页
    if($prepage){
    $page_array[]="首页";
    }else{
    $page_array[]="首页";
    }
    //上一页
    if($prepage) {
    $page_array[]=" 上一页 ";
    }else{
    $page_array[]='';
    }

    //显示的数字分页条数
    $pagenum=5;
    $offset=2;//偏移两
    $from=$page_array['now_page'] - $offset;//起始
    $to=$page_array['now_page'] + $pagenum-$offset-1;//终止
    if($pagenum>$lastpage){
    $from=1;
    $to=$lastpage;
    }else{
    if($from<1){
    $to=$page_array['now_page'] + 1 - $from;
    $from=1;
    if(($to-$from)<$pagenum && ($to-$from)<$lastpage){
    $to=$pagenum;
    }
    }elseif($to>$lastpage){
    $from=$page_array['now_page'] - $lastpage+$to;
    $to=$lastpage;
    if(($to-$from)<$pagenum && ($to-$from)<$lastpage){
    $from=$lastpage-$pagenum+1;
    }
    }
    }
    for($i=$from;$i<=$to;$i++){
    if($i == $page_array['now_page']){
    $pagenav.="$i ";
    }else{
    $pagenav.="$i ";

    }
    }
    //数字分页
    $page_array[]= $pagenav;
    //下一页
    if($nextpage){
    $page_array[]=" 下一页 ";
    }else {
    $page_array[]='';
    }
    //尾页
    if($nextpage){
    $page_array[]="尾页";
    }else{
    $page_array[]='尾页';
    }
    //记录数
    $page_array[]="每页 ".$page_array['dispage']." 条 共 ".$page_array['total']." 条纪录";
    //分页数
    $page_array[]="共 ".$lastpage." 页";

    //跳页
    $page_array[] = '跳转到:
    Go';
    //第一页总数
    $firstcount=$firstcount < 1 ? 0 : $firstcount;
    return array('pagenav'=>$page_array,'limit'=>$firstcount,'offset'=> $page_array['dispage'],'allpage'=>$lastpage);
    }
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp page quot array lastpage
    上一篇:php面相对象的魔术方法使用总结 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 检测移动设备的php代码(手机访问)• php实用图片水印效果代码• php中$_SERVER['HTTP_USER_AGENT']判断是否为手机访问网站• php 列出目录与删除目录实例代码• php多文件上传
    1/1

    PHP中文网