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

 更新时间:2014年08月20日 09:56:12   投稿:shichen2014  
这篇文章主要介绍了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 函数使用可变数量的参数方法

    php 函数使用可变数量的参数方法

    下面小编就为大家带来一篇php 函数使用可变数量的参数方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 解决php写入数据库乱码的问题

    解决php写入数据库乱码的问题

    在本文里小编给大家分享的是一篇关于解决php写入数据库乱码的问题的知识点内容,需要的朋友们可以学习下。
    2019-09-09
  • php 文件上传类代码

    php 文件上传类代码

    php 文件上传类代码,学习php的朋友可以参考下。这段代码对上传的处理封装的不错,大家可以参考下。
    2011-08-08
  • php多进程中的阻塞与非阻塞操作实例分析

    php多进程中的阻塞与非阻塞操作实例分析

    这篇文章主要介绍了php多进程中的阻塞与非阻塞操作,结合实例形式分析了php多进程中的阻塞与非阻塞原理、阻塞控制方法与相关操作技巧,需要的朋友可以参考下
    2020-03-03
  • php 静态变量的初始化

    php 静态变量的初始化

    php的成员变量可以在声明的同时进行初始化,但是只能用标量进行初始化。
    2009-11-11
  • php实现倒计时效果

    php实现倒计时效果

    这篇文章主要介绍了php实现倒计时效果,写了一个考试系统剩余时间倒计时的显示代码和大家一起探讨,需要的朋友可以参考下
    2015-12-12
  • php中mt_rand()随机数函数用法

    php中mt_rand()随机数函数用法

    这篇文章主要介绍了php中mt_rand()随机数函数用法,较为详细的分析了mt_rand()随机数函数的常见用法,并结合数组遍历给出了数组随机输出的实例,需要的朋友可以参考下
    2014-11-11
  • php Mysql日期和时间函数集合

    php Mysql日期和时间函数集合

    本文是脚本之家小编给大家收集的比较全的Mysql日期和mysql时间函数,感兴趣的朋友跟随一起看看吧
    2007-11-11
  • PHP 裁剪图片成固定大小代码方法

    PHP 裁剪图片成固定大小代码方法

    任意图像裁剪成固定大小,图像不变形,空白处拉伸填充,图像始终铺满,不留空白,用过bcastr的朋友应该知道。
    2009-09-09
  • PHP的Yii框架中移除组件所绑定的行为的方法

    PHP的Yii框架中移除组件所绑定的行为的方法

    这篇文章主要介绍了PHP的Yii框架中移除组件所绑定的行为的方法,可以用detachBehavio方法或者移除全部行为,需要的朋友可以参考下
    2016-03-03

最新评论