PHP基于数组实现的分页函数实例

5年以前  |  阅读数:844 次  |  编程语言:PHP 

分页功能是PHP程序设计中非常常见的功能,不同于以往的,今天本文介绍的是PHP基于数组实现的分页函数。

关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数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程序设计能起到一定的借鉴作用。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例