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速度全攻略
Oct 09 PHP
完美解决PHP中文乱码
Nov 26 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
Laravel 5框架学习之Eloquent 关系
Apr 09 PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 PHP
深入理解PHP内核(二)之SAPI探究
Nov 10 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
Jan 19 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
laravel中的一些简单实用功能
Nov 03 PHP
Yii2框架加载css和js文件的方法分析
May 25 PHP
php字符串过滤strip_tags()函数用法实例分析
Jun 24 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代码包装修正版
2008/03/15 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
2015/12/07 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
python基础教程之Hello World!
2014/08/29 Python
举例讲解Python中的死锁、可重入锁和互斥锁
2015/11/05 Python
Python 打印中文字符的三种方法
2018/08/14 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
如何用python免费看美剧
2020/08/11 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
年度考核自我鉴定
2014/02/02 职场文书
学历公证书范本
2014/04/09 职场文书
运动会标语
2014/06/21 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
战略合作意向书
2014/07/29 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL