PHP基于数组的分页函数(核心函数array_slice())

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP基于数组的分页函数(核心函数array_slice())相关的知识,希望对你有一定的参考价值。

关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数.

<?php
/**
 * 数组分页函数  核心函数  array_slice
 * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中
 * $count   每页多少条数据
 * $page   当前第几页
 * $array   查询出来的所有数组
 * order 0 - 不变     1- 反序
 */ 

function page_array($count,$page,$array,$order){
       global $countpage; #定全局变量
    $page=(empty($page))?‘1‘:$page; #判断当前页面是否为空 如果为空就表示为第一页面 
       $start=($page-1)*$count; #计算每次分页的开始位置
    if($order==1){
      $array=array_reverse($array);
    }   
    $totals=count($array);  
    $countpage=ceil($totals/$count); #计算总页面数
       $pagedata=array();
    $pagedata=array_slice($array,$start,$count);
       return $pagedata;  #返回查询数据
}
/**
 * 分页及显示函数
 * $countpage 全局变量,照写
 * $url 当前url
 */
function show_array($countpage,$url){
     $page=empty($_GET[‘page‘])?1:$_GET[‘page‘];
     if($page > 1){
           $uppage=$page-1;

     }else{
         $uppage=1;
     }

     if($page < $countpage){
           $nextpage=$page+1;

     }else{
            $nextpage=$countpage;
     }
       
        $str=‘<div style="border:1px; width:300px; height:30px; color:#9999CC">‘;
    $str.="<span>共  {$countpage}  页 / 第 {$page} 页</span>";
    $str.="<span><a href=‘$url?page=1‘>   首页  </a></span>";
    $str.="<span><a href=‘$url?page={$uppage}‘> 上一页  </a></span>";
    $str.="<span><a href=‘$url?page={$nextpage}‘>下一页  </a></span>";
    $str.="<span><a href=‘$url?page={$countpage}‘>尾页  </a></span>";
    $str.=‘</div>‘;
    return $str;
}
?>

 

以上是关于PHP基于数组的分页函数(核心函数array_slice())的主要内容,如果未能解决你的问题,请参考以下文章

PHP实现仿Google分页效果的分页函数

PHP二维数组的分页

PHP核心编程--站内搜索

UserList.vue组件中用钩子函数初始化第一页的分页数据

基于layu美化的分页,面向过程

移动端常用的加载更多的分页公共函数