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


Posted in PHP onAugust 20, 2014

分页功能是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一些有意思的小区别
Dec 06 PHP
PHP 编程请选择正确的文本编辑软件
Dec 21 PHP
PHP提取中文首字母
Apr 09 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 PHP
浅析THINKPHP的addAll支持的最大数据量
Feb 03 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
Oct 10 PHP
PHP表单数据写入MySQL数据库的代码
May 31 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
浅析PHP7的多进程及实例源码
Apr 14 PHP
php反射学习之依赖注入示例
Jun 14 PHP
PHP中读取照片exif信息的方法
Aug 20 #PHP
PHP函数eval()介绍和使用示例
Aug 20 #PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 #PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 #PHP
PHP函数http_build_query使用详解
Aug 20 #PHP
PHP函数in_array()使用详解
Aug 20 #PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 #PHP
You might like
php遍历数组的方法分享
2012/03/22 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
JS类的定义与使用方法深入探索
2016/11/26 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
requirejs + vue 项目搭建详解
2017/06/16 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
Python中常见的数据类型小结
2015/08/29 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
关于python写入文件自动换行的问题
2018/06/23 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
WoolOvers爱尔兰:羊绒、羊毛和棉针织品
2017/01/04 全球购物
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
前台接待岗位职责
2013/12/03 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
党员公开承诺书2015
2015/01/21 职场文书
员工辞退通知书
2015/04/17 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
排查MySQL生产环境索引没有效果
2022/04/11 MySQL