PHP通用分页类

php 实现分页功能(class封装了功能) 前言 分页是一个很常见的功能,我这里提供了分类类(class),用于前端页面中的四个按钮: 首页 下一页 上一页 尾页 上面的演示非常不直观,但足可以证明这个类可以完成分页功能。 完整的代码 附有非常详细的注释,但需要有一定的 php 基础。 <?php /* * //TODO 分页类(前端需传递两个参数) * @请求方式: GET * @num: 每页要显示多少条数据 * @sum... 阅读详情

大多数程序都会用到分页这一功能,所以为了以后方便花了近一个小时封装了一个通用的PHP分页类。

<?php
	require_once "../PublicService/WebHelper.class.php";
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试</title>
<style type="text/css">
#diva a{ width:10px;height:10px; padding:10px;}

</style>
</head>
<body>
<div>
<a href="/php1/UI/empMain.php?loginid=<?php echo $name ?>">返回首页</a>
</div>
<table border="1" bordercolor="green" >
<tr>
<td>ID号</td>
<td>登录名</td>
<td>姓名</td>
<td>邮箱</td>
<td>操作</td>
</tr>
<?php 
		//创建分页类的对象实例(获得总记录数的SQL语句,生成的连接地址,每页显示行数,翻页索引数)
		$fenYe=new FenYe("select count(id) from users","/php1/UI/emplist.php",10,10);
		//定制显示(这里可以设置超链接的文字)
		$fenYe->setPageup_txt("上翻页*");
		$fenYe->setNextpage_txt("下翻页*");
		$fenYe->setFirstpage_txt("第一页*");
		$fenYe->setEndpage_txt("最后一页*");
		//传入分页SQL语句(getStrat()为占位符,内部生成替换的索引)
		$fenYe->fenye("select * from users limit {$fenYe->getStart()},{$fenYe->getEnd()}");
		//获得分页数据(关联数组)
		$arr=$fenYe->getData();
		for($i=0;$i<count($arr);$i++){
			echo "<tr><td>{$arr[$i]["id"]}</td><td>{$arr[$i]["loginid"]}</td><td>{$arr[$i]["name"]}</td><td>{$arr[$i]["email"]}</td><td><a herf='#'>其他操作</a>||<a href='#'>其他操作</a></td>";
		}
?>
</table>
<br/>
<span>
<?php  
echo $fenYe->getFristpage(); //第一页
?>
<<<
<?php 
	//上翻页   分页连接1,2,3,4   下翻页
	echo $fenYe->getPageup()."<div id='diva'>".$fenYe->getNavigation_bar()."</div>".$fenYe->getNextpage();
?>
>>>
<?php 
//最后一页
 echo $fenYe->getEndpage()
 
 ?>
<?php 
	echo "{当前:{$fenYe->getPagenow()},共:{$fenYe->getPagecount()}页}";
?>
</span>
</body>
</html>

一下是分页源代码:

class FenYe{
			private $pagecount;//总页数
			private $pagesize=10;//每页显示的记录数
			private $pagenow=1;//当前页
			private $pageindexcount;//总索引数
			private $pageindex=1;//当前索引页
			private $pageindexsize=10;//每页显示索引数
			private $navigation_bar;//导航条
			private $data;//数据
			private $sqlhelper;//数据库连接
			private $pagenowid="pagenow";//当前页url参数名
			private $pageindexid="pageindex";//当前索引页url参数名
			private $data_sql;//查询数据的SQL语句
			private $start="@start";//SQL语句limit占位符
			private $end="@end";//SQL语句limit占位符
			private $url;//连接的地址
			private $pageup;//上翻页连接
			private $nextpage;//下翻页连接
			private $fristpage;//第一页
			private $endpage;//最后一页
			
			private $pageup_txt="上翻页";//上翻页显示文本
			private $nextpage_txt="下翻页";//下翻页显示文本
			private $firstpage_txt="第一页";//第一页显示文本
			private $endpage_txt="最后一页";//最后一页显示文本
			
			/**
	 * @return the $pageup_txt
	 */
	public function getPageup_txt() {
		return $this->pageup_txt;
	}

			/**
	 * @return the $nextpage_txt
	 */
	public function getNextpage_txt() {
		return $this->nextpage_txt;
	}

			/**
	 * @return the $firstpage_txt
	 */
	public function getFirstpage_txt() {
		return $this->firstpage_txt;
	}

			/**
	 * @return the $endpage_txt
	 */
	public function getEndpage_txt() {
		return $this->endpage_txt;
	}

			/**
	 * @param field_type $pageup_txt
	 */
	public function setPageup_txt($pageup_txt) {
		$this->pageup_txt = $pageup_txt;
	}

			/**
	 * @param field_type $nextpage_txt
	 */
	public function setNextpage_txt($nextpage_txt) {
		$this->nextpage_txt = $nextpage_txt;
	}

			/**
	 * @param field_type $firstpage_txt
	 */
	public function setFirstpage_txt($firstpage_txt) {
		$this->firstpage_txt = $firstpage_txt;
	}

			/**
	 * @param field_type $endpage_txt
	 */
	public function setEndpage_txt($endpage_txt) {
		$this->endpage_txt = $endpage_txt;
	}

	/**
	 * @return the $pageup
	 */
	public function getPageup() {
		return $this->pageup;
	}

			/**
	 * @return the $nextpage
	 */
	public function getNextpage() {
		return $this->nextpage;
	}

			/**
	 * @return the $fristpage
	 */
	public function getFristpage() {
		return $this->fristpage;
	}

			/**
	 * @return the $endpage
	 */
	public function getEndpage() {
		return $this->endpage;
	}

	/**
	 * @return the $url
	 */
	public function getUrl() {
		return $this->url;
	}

			/**
	 * @param field_type $url
	 */
	public function setUrl($url) {
		$this->url = $url;
	}

	/**
	 * @return the $data_sql
	 */
	public function getData_sql() {
		return $this->data_sql;
	}

			/**
	 * @param field_type $data_sql
	 */
	public function setData_sql($data_sql) {
		$this->data_sql = $data_sql;
	}

	/**
	 * @return the $start
	 */
	public function getStart() {
		return $this->start;
	}

			/**
	 * @return the $end
	 */
	public function getEnd() {
		return $this->end;
	}

	/**
	 * @return the $pagenowid
	 */
	public function getPagenowid() {
		return $this->pagenowid;
	}

			/**
	 * @return the $pageindexid
	 */
	public function getPageindexid() {
		return $this->pageindexid;
	}

			/**
	 * @param string $pagenowid
	 */
	public function setPagenowid($pagenowid) {
		$this->pagenowid = $pagenowid;
	}

			/**
	 * @param string $pageindexid
	 */
	public function setPageindexid($pageindexid) {
		$this->pageindexid = $pageindexid;
	}

	/**
	 * @return the $pagecount
	 */
	public function getPagecount() {
		return $this->pagecount;
	}

			/**
	 * @return the $pagesize
	 */
	public function getPagesize() {
		return $this->pagesize;
	}

			/**
	 * @return the $pagenow
	 */
	public function getPagenow() {
		return $this->pagenow;
	}

			/**
	 * @return the $pageindexcount
	 */
	public function getPageindexcount() {
		return $this->pageindexcount;
	}

			/**
	 * @return the $pageindex
	 */
	public function getPageindex() {
		return $this->pageindex;
	}

			/**
	 * @return the $pageindexsize
	 */
	public function getPageindexsize() {
		return $this->pageindexsize;
	}

			/**
	 * @return the $navigation_bar
	 */
	public function getNavigation_bar() {
		return $this->navigation_bar;
	}

			/**
	 * @return the $data
	 */
	public function getData() {
		return $this->data;
	}

			/**
	 * @param field_type $pagecount
	 */
	public function setPagecount($pagecount) {
		$this->pagecount = $pagecount;
	}

			/**
	 * @param field_type $pagesize
	 */
	public function setPagesize($pagesize) {
		$this->pagesize = $pagesize;
	}

			/**
	 * @param field_type $pagenow
	 */
	public function setPagenow($pagenow) {
		$this->pagenow = $pagenow;
	}

			/**
	 * @param field_type $pageindexcount
	 */
	public function setPageindexcount($pageindexcount) {
		$this->pageindexcount = $pageindexcount;
	}

			/**
	 * @param field_type $pageindex
	 */
	public function setPageindex($pageindex) {
		$this->pageindex = $pageindex;
	}

			/**
	 * @param field_type $pageindexsize
	 */
	public function setPageindexsize($pageindexsize) {
		$this->pageindexsize = $pageindexsize;
	}

			/**
	 * @param field_type $navigation_bar
	 */
	public function setNavigation_bar($navigation_bar) {
		$this->navigation_bar = $navigation_bar;
	}

			/**
	 * @param field_type $data
	 */
	public function setData($data) {
		$this->data = $data;
	}

	public function __construct($sql,$url,$pagesize,$pageindexsize){
		$this->pagesize=$pagesize;
		$this->pageindexsize=$pageindexsize;
		$this->sqlhelper=new SqlHelper();
		$this->url=$url;
		$pagecount=$this->sqlhelper->Execute_DQL_Array($sql);
		//总页数
		$this->pagecount=ceil($pagecount[0][0]/$this->pagesize);
		//总索引数
		$this->pageindexcount=ceil($this->pagecount/$this->pageindexsize);
	}
	
	public function fenye($data_sql){
		$this->data_sql=$data_sql;
		//当前显示的页数
		if(!empty($_GET[$this->pagenowid])){
			$this->pagenow=$_GET[$this->pagenowid];
		}
		//当前显示索引
		if(!empty($_GET[$this->pageindexid])){
			$this->pageindex=$_GET[$this->pageindexid];
		}
		
		//生成查询语句
		$this->data_sql=str_replace($this->start, ($this->pagenow-1)*$this->pagesize, $this->data_sql);
		$this->data_sql=str_replace($this->end, $this->pagesize, $this->data_sql);
		
		//获得查询数据
		$this->data=$this->sqlhelper->Execute_DQL($this->data_sql);
		
		$index=$this->pageindexcount<=1?2:$this->pageindex+$this->pageindexsize;
		
		//生成导航条
		for($j=$this->pageindex;$j<$index;$j++){
			$this->navigation_bar.="<a href='{$this->url}?{$this->pagenowid}=$j&{$this->pageindexid}={$this->pageindex}'>$j</a>";
		}
		//生成上翻页与下翻页
		$pagetemp=$this->pageindex;
		if($this->pageindex>1){
			$this->pageindex=$this->pageindex-$this->pageindexsize;
		}
		if($pagetemp<$this->pageindexcount){
			$pagetemp=$pagetemp+$this->pageindexsize;
		}
		$this->pageup="<a href='{$this->url}?$this->pageindexid={$this->pageindex}'>{$this->pageup_txt}</a>";
		$this->nextpage="<a href='{$this->url}?$this->pageindexid={$pagetemp}'>{$this->nextpage_txt}</a>";
		//生成第一页与最后一页
		$this->fristpage="<a href='{$this->url}?{$this->pagenowid}=1'>{$this->firstpage_txt}</a>";
		$this->endpage="<a href='{$this->url}?{$this->pagenowid}={$this->pagecount}'>{$this->endpage_txt}</a>";
	}
			
			
			
}


 

php封装的page分页类完整实例 本文实例讲述了php封装的page分页类。分享给大家供大家参考,具体如下: 类文件: <?php //分页工具类 class Page{ /* * 获取分页字符串 * @param1 string $uri,分页要请求的脚本url * @param3 int $counts,总记录数 * @param4 int $length,每页显示的记录数 * @param5 int $page = 1,当前页码 * @return string,带有a标签的,可以点击发起请求的字符串 */ public sta 立即下载

相关推荐

PHP封装分页函数实现文本分页和数字分页

最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。 // 分页分装/*** $pageType 分页类型 1是数字分页 2是文本分页* 可以将$pageTotal,$page,$total等数据作为参数传递,或者在paging作为全局变量(推荐)*/function paging($pageType){ global $pageTotal,$page,$total; if($pageType == 1) { echo ''; echo''; for($i=0; $i <

php封装分页函数

【代码】php封装分页函数。

飞天001的博客 202

使用 ANSYS 实现铸造、凝固和熔炼的高级解决方案

凭借其强大的有限元分析 (FEA) 和计算流体动力学 (CFD) 功能,ANSYS 可以准确预测模具内的热和流体流动行为。总之,ANSYS 是铸件凝固和熔化领域的关键工具。其全面的仿真功能、工艺优化功能、材料特性分析和用户友好的界面使其成为旨在创新和改进制造工艺的工程师不可或缺的工具。通过利用 ANSYS,各行各业可以在铸造业务中实现更高的质量、效率和成本效益,从而为先进的制造解决方案铺平道路。ANSYS是一款领先的工程仿真软件,提供强大的功能来建模和优化这些复杂的热过程,从而显著提高生产效率和质量。

jkh920184196的博客 2108

php函数封装完美分页,封装好的PHP分页类,简单好用

/*** class Pagination** 独立分页类* 调用方式:* $pagenation = new Pagination( 4, 10, 200 ); // 4(第一个参数) = currentPage, 10(第二个参数) = pageSize, 200(第三个参数) = 总数* $pagenation->set_link( 'http://www.360hqb.co...

weixin_34307029的博客 242

用python自动复制粘贴excel表里某一列的数据到另一个表中

昨天接到人事小姐姐求助减轻复制粘贴的重复工作量,分享一下代码 半路新手上路 耶 把 2.xlsx 表里的第二列 的数据复制粘贴到 test.xlsx的第一列 python3.6.2 from openpyxl import Workbook from openpyxl import load_workbook from openpyxl.writer.excel import Exc...

weixin_33854644的博客 2万+

MuJoCo柔性体仿真实战:从FlexComp建模到自定义模型导入

柔性体仿真是机器人交互研究中不可或缺的一环,MuJoCo作为高精度物理求解器,凭借高效的求解速度与批量并行能力,成为强化学习与软体抓取任务的热门选择。其FlexComp机制将连续材料离散为粒子-约束系统,以较低建模成本模拟布料、软组织等形变行为,相比Gazebo等平台更具实时性与可扩展性。技术价值体现在自定义柔性体建模与导入流程中:通过XML配置网格密度、间距与材料参数,即可生成贴合任务需求的软体垫子或硅胶抓手。在柔性抓取、颗粒抓手、医疗仿真等场景中,该方法能快速构建可训练的环境。围绕环境搭建、FlexCo

weixin_29045585的博客 159

php封装的分页函数

需要用到sprinf,可参考sprintf官方操作手册 1、封装的分页函数 /** * @param int $page 当前页码 * @param int $total 总页数 * @param string $format 链接模板 * @param int $visible 可见页码数量(可选参数,默认为5) * @retu...

你,若盛开的专栏 399

Material Studio中分子动力学模拟得到密度density和溶解度参数

使用sketh工具画出全原子分子,以异辛烷为例子。

handsome213的博客 7317

php通用分页类

    终于完成php的通用分页类了!呵,,有点高兴!以前说过要写一个这样的类的,无奈工作实在太忙,所以拖了下来。幸好今天是五一长假的最后一天,提前赶了回来,趁着老板不在,拼凑了出来。   还没有进行全面的测试,可能还存在各种的Bug,如果谁发现了,请告知一下,以便能及时的收正,谢谢!   源码如下:   类名:php通用分页类   功能:实现php中常用的页面分页,提供图像文

hkmgjsf的专栏 1191

【OpenFOAM】-olaFlow-算例10-wavemakerTank

采用 Flap和Piston两种方式的动网格进行造波

ou_no的博客 2167

2026年Java 开发工程师常见面试简答题

本文整理了Java开发工程师面试常见简答题及详细解析,涵盖Java基础、集合框架、并发编程、JVM等核心考点。主要内容包括:1. Java基础概念:JDK/JRE/JVM区别、面向对象特性、重载与重写、接口与抽象类、String特性等 2. 集合框架:ArrayList/LinkedList区别、HashMap实现原理、线程安全方案、集合类型对比 3. 并发编程:synchronized原理、volatile作用、线程创建方式、线程池参数与策略、死锁处理 4. JVM相关:内存区域划分、垃圾回收算法、类加载

不务正业的猿 370

php pager,PHP通用分页(Pager)类

三种不同展示方式 附上style~1. 效果图12.效果图23. 效果图34.分页类主体/*** PHP通用分页类** show(2) 1 ... 62 63 64 65 66 67 68 ... 150* 分页样式* #page{font:12px/16px arial}* #page span{float:left;margin:0px 3px;}* #page a{float:left;m...

weixin_33308577的博客 357

SQL中的时间计算:员工每日工作时长

摘要:本文介绍了一个使用SQL查询计算员工每日工作时长的实用方法。通过分析包含员工打卡记录的数据库表,利用CTE(公共表表达式)将日期分组,计算最早和最晚打卡时间差,最终以"小时:分钟"格式输出工作时长。该方法适用于每日两次打卡的场景,并提示了处理漏打卡等特殊情况时的注意事项,为企业考勤管理提供了有效的数据支持方案。(148字)

m0_74337424的博客 412

PHP通用分页类-page.php

PHP通用分页类。本代码是用于cd2sc.com分页用的,稍做修改可用于各种程序。 使用方式请参考本人文章。 page.php

紫在川上曰 456

YOLOv11知识蒸馏实战:让小模型拥有大模型90%精度,速度提升3倍的终极教程

在self.alpha = alpha # 蒸馏损失权重self.temperature = temperature # 温度系数,控制分布平滑度# 输出分布蒸馏(KL散度损失)# 中间特征蒸馏(MSE损失,对齐中间层特征)# 总蒸馏损失知识蒸馏是YOLOv11在“小模型高性能部署”场景的“破局之法”——它让小模型能“站在大模型的肩膀上”,兼具速度与精度。从损失函数定义到多阶段训练,再到实战落地,本教程已为你铺就了一条清晰的路径。

m0_64661770的博客 801

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

php通用分页类代码,php通用分页类

weixin_39602108的博客 149

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

PHP通用分页(Pager)类

三种不同展示方式 附上style~ 1. 效果图1 2.效果图2  3. 效果图3 4. 分页类主体 001 002 /** 003  * PHP通用分页类 004

bushiyao_的专栏 965

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

PHP通用分页(类)

PHP通用分页(类) http://code.knowsky.com/down/17079.html

ydqs_long的博客 188

php分页类示例下载,PHP 通用分页类的简单示例

这篇文章主要为大家详细介绍了PHP 通用分页类的简单示例,具有一定的参考价值,可以用来参考一下。对PHP通用分页类感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!写了个php的通用分页类使用方法很简单在实例化对象时只需要给他传个"每页显示记录数"和"总记录数"就可以了include_once("pages_class.php"); 连接db省略.....得到总记录数在此省略.........

weixin_42137028的博客 167

PHP通用分页(Pager)类

三种不同展示方式 附上style~ 1. 效果图1 2.效果图2    3. 效果图3 4. 分页类主体 &lt;?php /** * PHP通用分页类 * show(2) 1 ... 62 63 64 65 66 67 68 ... 150 * 分页样式 * #page{font:12px/16px arial} * #page span{flo...

weixin_33918114的博客 233

[导入]PHP通用分页类

如果你学过Asp.net,你一定知道它里面有一个叫datalist之类自带的分页功能十分强大,这里的这个类就模拟了一部份这个功能,我敢用“强大”来定义它,是因为作为一个通用的页类,这个类真正做到了“通用”。废话少说,马上介绍一下是如何使用的。1、先新建一个用于测试的表CREATE TABLE `test` (`aa` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,...

weixin_33758863的博客 93

php通用分页类“升级”

 这两天我做网站要用到上几天写的php通用分页类时,才发现,原来这个类漏一个功能-----列出页码。连忙就给补上了:   //页码 function list_page($f_num=4,$l_num=3,$tran_str="…",$str="",$class_name="")//列出页码。如"[1] [2] [3]……[6][7]"。$f_num为省略号前显示的页码数,$l_num

hkmgjsf的专栏 1013
上一篇: PHP数据库助手类
下一篇: PHP中session 与cookie的原理和关系1
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值