PHP简易分页类:功能全面,操作简便
本篇文档介绍了一个名为"SubPages"的PHP分页类,该类旨在简化、方便用户在PHP项目中实现灵活且功能全面的分页处理。这个类设计考虑到了易用性和可定制性,主要关注以下几个关键部分: 1. **类属性**: - `each_disNums`:每页显示的记录数。 - `nums`:总记录数。 - `current_page`:当前选择的页面。 - `sub_pages`:总页数。 - `pageNums`:计算得到的总页数,等于总记录数除以每页显示数并向上取整。 - `page_array`:用于存储页面链接的数组。 - `subPage_link`:自定义的分页链接样式。 - `subPage_type`:分页样式类型,支持两种模式:1表示列表式(如 1/453);2表示页码式(如 123456...10)。 2. **构造函数`__construct()`**: - 初始化方法,接收参数 `$each_disNums`、`$nums`、`$current_page`、`$sub_pages`、`$subPage_link` 和 `subPage_type`。 - 将输入的参数转换为整数类型,并根据用户选择设置默认值(如当前页为1)。 - 计算总页数,根据 `$subPage_type` 的值决定分页显示方式,是列表形式还是数字形式,并调用 `show_SubPages()` 函数。 3. **`show_SubPages()`** 方法: - 根据 `subPage_type` 的值生成不同的分页链接数组。如果为1(列表式),链接将以 [首页][上一页][...][下一页][尾页] 的格式生成;如果为2(页码式),则生成1到总页数的数字链接。 4. **析构函数`__destruct()`**: - 分页对象销毁时,清理不再需要的变量,以释放内存资源。 使用这个类时,开发者可以轻松地控制分页显示样式和每页记录数,无需从头开始编写复杂的分页逻辑。通过实例化此类并传入所需参数,就能快速为列表数据添加适当的分页导航,提高了代码的可维护性和可复用性。例如: ```php $pagination = new SubPages(10, $total_records, $_GET['page'], $max_pages, '#page/', 1); $pagination->show_SubPages(); ``` 这将创建一个每页显示10条记录的分页器,根据当前URL中的 `page` 参数自动跳转到相应的页面,并显示前后相邻的页面链接。通过简单的配置,开发者可以快速适应不同场景的需求。
<?php
class SubPages{
private $each_disNums;//每页显示的条目数
private $nums;//总条目数
private $current_page;//当前被选中的页
private $sub_pages;//每次显示的页数
private $pageNums;//总页数
private $page_array = array();//用来构造分页的数组
private $subPage_link;//每个分页的链接
private $subPage_type;//显示分页的类型
/*
__construct是SubPages的构造函数,用来在创建类的时候自动运行.
@$each_disNums 每页显示的条目数
@nums 总条目数
@current_num 当前被选中的页
@sub_pages 每次显示的页数
@subPage_link 每个分页的链接
@subPage_type 显示分页的类型
当@subPage_type=1的时候为普通分页模式
example: 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
当@subPage_type=2的时候为经典分页样式
example: 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){
$this->each_disNums=intval($each_disNums);
if(!$current_page){
$this->current_page=1;
}else{
$this->current_page=intval($current_page);
}
$this->sub_pages=intval($sub_pages);
$this->pageNums=ceil($nums/$each_disNums);
$this->subPage_link=$subPage_link;
$this->show_SubPages($subPage_type);
//echo $this->pageNums."--".$this->sub_pages;
}
/*
__destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。
*/
function __destruct(){
unset($each_disNums);
unset($nums);
unset($current_page);
unset($sub_pages);
unset($pageNums);
unset($page_array);
unset($subPage_link);
unset($subPage_type);
}
/*
show_SubPages函数用在构造函数里面。而且用来判断显示什么样子的分页
剩余6页未读,继续阅读
- 粉丝: 1
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦