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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
Dec 29 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
Aug 13 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
PHP实现递归无限级分类
Oct 22 PHP
作为程序员必知的16个最佳PHP库
Dec 09 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
TP5框架简单登录功能实现方法示例
Oct 31 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中的字符编码转换函数用法示例
2014/10/20 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
php实现简易计算器
2020/08/28 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
python Django连接MySQL数据库做增删改查
2013/11/07 Python
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python遍历pandas数据方法总结
2018/02/09 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
tensorflow多维张量计算实例
2020/02/11 Python
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
自我鉴定范文300字
2013/10/01 职场文书
环保公益策划方案
2014/08/15 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js