php分页函数

来源:互联网 发布:辽宁快乐12选5遗漏数据 编辑:程序博客网 时间:2024/05/17 07:01
/* * @分页函数 * @param       $total     总记录数 * @param       $page_now  当前页码 * @param       $page_size 一页的记录条数 * @param       $pages     显示的最大页码数 * */function paging($total,$page_now,$page_size,$pages){    $return['total_pages'] = ceil($total/$page_size);//总页数    $return['pre_page']=($page_now>1)?$page_now-1:1;//前一页数    $return['next_page'] =($page_now<$return['total_pages'])?$page_now+1:$return['total_pages'];//下一页    $return['page_now']=$page_now;//当前页面    //生成页码 : 小于设定的最大页码数 | 大于设定的最大的页码数    if($pages>=$return['total_pages']){        for ($p = 1;$p<=$return['total_pages'];$p++){            $return['pages'][] = $p;        }    }else{        //如果 page_now 太小了的话        if($page_now<=$pages/2){            for ($p = 1;$p<=$pages;$p++){                $return['pages'][] = $p;            }        }        //如果page_now 接近总页数了        elseif($return['total_pages']-$page_now<=$pages/2){            for ($a = 1,$p=$return['total_pages'];$a<=$pages;$p--,$a++){                $return['pages'][] = $p;            }            sort($return['pages']);        }        //page_now 在页码中间        else{            //处理奇数页时,一个向上取整,一个去除小数            for ($p = $page_now -intval($pages/2);$p<$page_now+ceil($pages/2);$p++){                $return['pages'][] = $p;            }        }    }    return $return;}
0 0