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 相关文章推荐
关于PHP5 Session生命周期介绍
Mar 02 PHP
php 删除一个数组中的某个值.兼容多维数组!
Feb 18 PHP
redis 队列操作的例子(php)
Apr 12 PHP
phpcms模块开发之swfupload的使用介绍
Apr 28 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 PHP
Yii分页用法实例详解
Dec 04 PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 PHP
Smarty环境配置与使用入门教程
May 11 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
php用户名的密码加密更安全的方法
Jun 21 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
杏林同学录(五)
2006/10/09 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Python docx库用法示例分析
2019/02/16 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
python循环输出三角形图案的例子
2019/11/22 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
基于python监控程序是否关闭
2020/01/14 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
职业规划书如何设计?
2014/01/09 职场文书
外国人聘用意向书
2014/04/01 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
未婚证明格式
2015/06/15 职场文书
军训结束新闻稿
2015/07/17 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
聊聊Python String型列表求最值的问题
2022/01/18 Python