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 intval的测试代码发现问题
Jul 27 PHP
PHP操作数组相关函数
Feb 03 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
apache和php之间协同工作的配置经验分享
Apr 08 PHP
解析PHP中如何将数组变量写入文件
Jun 06 PHP
PHP 关于访问控制的和运算符优先级介绍
Jul 08 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
PHP源码分析之变量的存储过程分解
Jul 03 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
Aug 17 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
PHP按一定比例压缩图片的方法
Oct 12 PHP
php利用ZipArchive类操作文件的实例
Jan 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
Zend引擎的发展 [15]
2006/10/09 PHP
php正则校验用户名介绍
2008/07/19 PHP
php使用curl访问https示例分享
2014/01/17 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
Atom的python插件和常用插件说明
2018/07/08 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
python对文件的操作方法汇总
2020/02/28 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
Servlet面试题库
2015/07/18 面试题
小饰品店的创业计划书范文
2013/12/28 职场文书
公司前台辞职报告
2014/01/19 职场文书
带病坚持工作事迹
2014/05/03 职场文书
2015年元旦活动总结
2014/05/09 职场文书
幸福家庭标语
2014/06/27 职场文书
严以律己学习心得体会
2016/01/13 职场文书