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 相关文章推荐
加强版phplib的DB类
Mar 31 PHP
php知道与问问的采集插件代码
Oct 12 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
Aug 22 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
一波PHP中cURL库的常见用法代码示例
May 06 PHP
php基于curl重写file_get_contents函数实例
Nov 08 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
Nov 17 PHP
如何离线执行php任务
Feb 21 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
PHP设计模式之建造者模式定义与用法简单示例
Aug 13 PHP
实例讲解PHP表单处理
Feb 15 PHP
php 多继承的几种常见实现方法示例
Nov 18 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
PDO::_construct讲解
2019/01/27 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
IE6 fixed的完美解决方案
2011/03/31 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
vue实现计步器功能
2019/11/01 Javascript
Python基础中所出现的异常报错总结
2016/11/19 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
使用pandas 将DataFrame转化成dict
2019/12/10 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
一套.net面试题及答案
2016/11/02 面试题
建筑个人求职信范文
2014/01/25 职场文书
会计求职自荐信
2014/06/20 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
2015年测量员工作总结
2015/05/23 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
Python基础 括号()[]{}的详解
2021/11/07 Python