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 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
php下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
php自动载入类用法实例分析
Jun 24 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
PHP数据对象映射模式实例分析
Mar 29 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
python 文件和路径操作函数小结
2009/11/23 Python
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
一百多行python代码实现抢票助手
2018/09/25 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
python实现邮件自动发送
2019/08/10 Python
信号生成及DFT的python实现方式
2020/02/25 Python
django列表筛选功能的实现代码
2020/03/27 Python
python实现猜拳游戏项目
2020/11/30 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
传播学毕业生求职信
2013/10/11 职场文书
会计专业推荐信
2013/10/29 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
导游词之镇江焦山
2019/11/21 职场文书
Python语言规范之Pylint的详细用法
2021/06/24 Python
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js