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的foreach中使用引用时需要注意的一个问题和解决方法
May 29 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
Jun 13 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
php 使用array函数实现分页
Feb 13 PHP
一个简单安全的PHP验证码类、PHP验证码
Sep 24 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
php图片裁剪函数
Oct 31 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
Nov 30 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 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学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
eAccelerator的安装与使用详解
2013/06/13 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
npm全局模块卸载及默认安装目录修改方法
2018/05/15 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
世界上最大的艺术社区:SAA
2020/12/30 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
素质拓展感言
2014/01/29 职场文书
大学生党性分析材料
2014/12/19 职场文书
写给同事的离职感言
2015/08/04 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
图神经网络GNN算法
2022/05/11 Python
Go语言编译原理之变量捕获
2022/08/05 Golang