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 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
PHP 判断常量,变量和函数是否存在
Apr 26 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
用PHP代替JS玩转DOM的思路及示例代码
Jun 15 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
分享PHP计算两个日期相差天数的代码
Dec 23 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 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
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
php错误日志简单配置方法
2016/07/11 PHP
用js重建星际争霸
2006/12/22 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
2014/06/16 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
使用Vue.observable()进行状态管理的实例代码详解
2019/05/26 Javascript
pycharm 使用心得(四)显示行号
2014/06/05 Python
菜鸟使用python实现正则检测密码合法性
2016/01/05 Python
python模糊图片过滤的方法
2018/12/14 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
allbeauty美国:英国在线美容店
2019/03/11 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
为什么需要版本控制?
2013/08/08 面试题
土建专业大学生自荐信范文
2014/04/09 职场文书
软件项目开发计划书
2014/05/01 职场文书
跳槽求职信范文
2014/05/26 职场文书
购房委托书范本
2014/09/18 职场文书
病假证明模板
2015/06/19 职场文书
使用tensorflow 实现反向传播求导
2021/05/26 Python
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript