- 浏览: 408826 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
wcjagta:
...
dedecms插件开发教程 -
xc2013:
看起来不错 先下载来试试
ECSHOP完全静态化解决方法 -
greemranqq:
你好,我在xp 上做实验,也是JS css带不过来,关于 ro ...
nginx资源定向 css js路径问题 -
hotsmile:
表结构给出来吧,测试的提示说要注册,
中国移动CMPP短信开发平台通讯包 2.8 -
mengdejun:
gang80306176 写道这个插件怎么用和安装普通插件一样 ...
phpcms2008 sp4单网页编辑器插件
<?php /** ** 通用php分页类。(仿Google样式) ** 只需提供记录总数与每页显示数两个参数。(已附详细使用说明..) ** 无需指定URL,链接由程序生成。方便用于检索结果分页。 ** 表单采用GET方法提交,可保证在诸如查询之,删除之类的操作时,不丢失URL参数 **/ class Pager{ //IE地址栏地址 var $url; //记录总条数 var $countall; //总页数 var $page; //分页数字链接 var $thestr; //首页、上一页链接 var $backstr; //尾页、下一页链接 var $nextstr; //当前页码 var $pg; //每页显示记录数量 var $countlist; //翻页样式 var $style; //构造函数,实例化该类的时候自动执行该函数 function Pager($countall,$countlist,$style="page"){ //记录数与每页显示数不能整队时,页数取余后加1 $this->countall = $countall; $this->countlist = $countlist; $this->style=$style; if ($this->countall%$this->countlist!=0){ $this->page=sprintf("%d",$this->countall/$this->countlist)+1; }else{ $this->page=$this->countall/$this->countlist; } $this->pg=$_GET["pg"]; //保证pg在未指定的情况下为从第1页开始 if (!ereg("^[1-9][0-9]*$",$this->pg) || empty($this->pg)){ $this->pg=1; } //页码超出最大范围,取最大值 if ($this->pg>$this->page){ $this->pg=$this->page; } //得到当前的URL。具体实现请看最底部的函数实体 $this->url = Pager::getUrl(); //替换错误格式的页码为正确页码 if(isset($_GET["pg"]) && $_GET["pg"]!=$this->pg){ $this->url=str_replace("?pg=".$_GET["pg"],"?pg=$this->pg",$this->url); $this->url=str_replace("&pg=".$_GET["pg"],"&pg=$this->pg",$this->url); } //生成12345等数字形式的分页。 if ($this->page<=10){ for ($i=1;$i<$this->page+1;$i++){ $this->thestr=$this->thestr.Pager::makepg($i,$this->pg); } }else{ if ($this->pg<=5){ for ($i=1;$i<10;$i++){ $this->thestr=$this->thestr.Pager::makepg($i,$this->pg); } }else{ if (6+$this->pg<=$this->page){ for ($i=$this->pg-4;$i<$this->pg+6;$i++){ $this->thestr=$this->thestr.Pager::makepg($i,$this->pg); } }else{ for ($i=$this->pg-4;$i<$this->page+1;$i++){ $this->thestr=$this->thestr.Pager::makepg($i,$this->pg); } } } } //生成上页下页等文字链接 $this->backstr = Pager::gotoback($this->pg); $this->nextstr = Pager::gotonext($this->pg,$this->page); //echo (" 共".$this->countall." 条,每页".$this->countlist."条,共".$this->page."页".$this->backstr.$this->thestr.$this->nextstr); } //生成数字分页的辅助函数 function makepg($i,$pg){ if ($i==$pg){ return " <font class='".$this->style."'>".$i."</font>"; }else{ return " <a href=".Pager::replacepg($this->url,5,$i)." class='".$this->style."'><u>".$i."</u></a>"; } } //生成上一页等信息的函数 function gotoback($pg){ if ($pg-1>0){ return $this->gotoback=" <a href=".Pager::replacepg($this->url,3,0)." class='".$this->style."'>首页</a> <a href=".Pager::replacepg($this->url,2,0)." class='".$this->style."'>上一页</a>"; }else{ return $this->gotoback="<span class='".$this->style."'>首页 上一页</span> "; } } //生成下一页等信息的函数 function gotonext($pg,$page){ if ($pg < $page){ return " <a href=".Pager::replacepg($this->url,1,0)." class='".$this->style."'>下一页</a> <a href=".Pager::replacepg($this->url,4,0)." class='".$this->style."'>尾页</a>"; }else{ return " <span class='".$this->style."'>下一页 尾页</span>"; } } //处理url中$pg的方法,用于自动生成pg=x function replacepg($url,$flag,$i){ if ($flag == 1){ $temp_pg = $this->pg; return str_replace("pg=".$temp_pg,"pg=".($this->pg+1),$url); }else if($flag == 2) { $temp_pg = $this->pg; return str_replace("pg=".$temp_pg,"pg=".($this->pg-1),$url); }else if($flag == 3) { $temp_pg = $this->pg; return str_replace("pg=".$temp_pg,"pg=1",$url); }else if($flag == 4){ $temp_pg = $this->pg; return str_replace("pg=".$temp_pg,"pg=".$this->page,$url); }else if($flag == 5){ $temp_pg = $this->pg; return str_replace("pg=".$temp_pg,"pg=".$i,$url); }else{ return $url; } } //获得当前URL的方法 function getUrl(){ $url="http://".$_SERVER["HTTP_HOST"]; if(isset($_SERVER["REQUEST_URI"])){ $url.=$_SERVER["REQUEST_URI"]; }else{ $url.=$_SERVER["PHP_SELF"]; if(!empty($_SERVER["QUERY_STRING"])){ $url.="?".$_SERVER["QUERY_STRING"]; } } //在当前的URL里加入pg=x字样 if (!ereg("(pg=|PG=|pG=|Pg=)", $url)){ if (!strpos($url,"?")){ $url = $url."?pg=1"; }else{ $url = $url."&pg=1"; } } return $url; } } ?>
发表评论
-
php异步操作类库
2011-06-05 16:01 1834httpclient for php 的选择常用方案有以 ... -
织梦HTTP IMAGE下载类
2011-06-05 14:57 1879<?php if(!defined('DEDEINC ... -
php汉字转拼音
2011-06-05 14:41 1616<?php /**************** ... -
PHP采集利器:Snoopy 试用心得
2011-06-05 14:34 14079Snoopy是一个php类,用 ... -
php异步调用 提高用户体验
2011-05-30 14:22 1323这是我的一个技术很好的朋友写的,要我发表在我的博客上可让php ... -
PHP 异步调用 后台调用 持续执行 断开连接/浏览器
2011-05-26 10:31 1721标题很怪,因为我也 ... -
php socket模拟POST GET请求 fsockopen版
2011-05-26 10:14 7393function httpRequestGET($url){ ... -
php socket GET POST提交方法(HttpClient) 框架
2011-05-25 18:29 5562<?php /* Version 0.9, 6th ... -
mantis
2011-05-25 09:50 1297mantis 缺陷管理平台Mantis,也做Mantis ... -
Curl参数一览
2011-05-06 17:30 1487* 目录 1. 介绍 ... -
PHPRPC
2011-04-24 11:01 1331PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台 ... -
PHP身份证验证程序
2011-04-24 10:56 1275<?php // 计算身份证校验码,根据国家标准GB 116 ... -
nginx 502 Bad Gateway 错误问题收集
2011-04-23 09:43 1798502是FastCGI出现问题,所以从FastCGI配置入手。 ... -
深入理解PHP内存管理之谁动了我的内存
2011-04-12 21:57 852首先让我们看一个问题: ... -
socket模拟post表单
2011-04-11 15:40 2819post的本质就是发送给目的程序一个标志为post的协议串如下 ... -
OAUTH协议
2011-04-09 09:59 1123OAUTH协议为用户资源的 ... -
nginx/windows: 让nginx以服务的方式运行
2011-04-09 09:33 1159在windows下安装了nginx, 郁闷是发现它没有以服 ... -
ThinkPHP处理海量数据分表机制详细代码
2011-04-07 18:27 7230应用ThinkPHP内置的分表算法处理百万级用户数据. ... -
php 分库分表hash算法
2011-04-07 18:16 1704//分库分表算法 function calc_hash_d ... -
nginx配置文件实例: php (fastcgi), perl, proxy, rrd, nagios
2011-04-06 20:33 1842nginx.conf worker_processes 5; ...
相关推荐
本资源"PHP通用分页小代码.rar"提供了一个实用的分页类,适用于各种场景,包括伪静态、静态和动态分页,并且对各种主流浏览器具有良好的兼容性。 首先,让我们深入理解分页的基本原理。分页主要通过计算总页数和...
"php封装的page分页类" 是一个专门用于处理这种需求的类库,它简化了PHP分页的实现过程,通过封装核心逻辑,使开发者能够快速、高效地实现分页功能。 首先,我们要理解分页的基本原理。在数据库查询中,如果一次性...
JSP通用分页显示1.2.rar
通用分页工具类PageInfo.java
这个"java通用分页代码实例"应该包含了上述概念的实现,你可以通过解压"page"文件查看具体代码,学习如何将这些理论应用到实践中。通过学习和理解这个实例,你可以更好地掌握Java中的分页技术,并将其应用于自己的...
通用分页方法接口的设计旨在提供一种标准化的、可复用的解决方案,使得不同的数据访问层(如数据库查询、API调用等)都能够方便地进行数据分页操作。下面我们将详细探讨这个主题。 一、分页的基本概念 分页是指将...
本压缩包“超强php分页打包 通用分页 万能分页 ajax分页 google分页”提供了一系列的分页解决方案,包括了基本的PHP分页、通用的分页实现、以及结合AJAX技术的动态分页,旨在满足各种项目需求。下面将详细介绍这些...
根据thinkphp官方分页类修改,弥补不足,优化分页逻辑,加入跳转页数,实现最具用户体验的分页类(类似discuz论坛分页)
在PHP开发中,分页是常见的功能,尤其在处理大量数据...不过,为了确保分页类的通用性,还需要考虑其他因素,如URL参数传递当前页码、分页样式自定义等。在实际项目中,你可能需要根据具体需求对这个类进行扩展或调整。
PHP通用分页类(仿Google样式)。本代码是用于分页用的,只需提供记录总数与每页显示数两个参数,无需指定URL,链接由程序生成。方便用于检索结果分页,表单采用GET方法提交,可保证在诸如查询之,删除之类的操作时,...
本资源提供了一个简单易用的PHP分页类代码,适用于那些希望快速实现分页功能的开发者。下面将详细介绍这个分页类的工作原理和使用方法。 1. 分页类的基本概念 分页类是一种封装了分页逻辑的对象,它通常包含计算...
PHP 分页类. 多语言. 常用的普通的分页类.
ASP实例开发源码—分页类 Kin_Db_Pager通用分页类.zip ASP实例开发源码—分页类 Kin_Db_Pager通用分页类.zip ASP实例开发源码—分页类 Kin_Db_Pager通用分页类.zip
本压缩包"SQL Server 2005通用分页存储过程.rar"包含了一个名为"SQL Server 2005通用分页存储过程.mht"的文件,很可能是详细讲解如何创建和使用分页存储过程的文档。 首先,我们要理解什么是存储过程。存储过程是预...
这个“php仿ZOL分页类.zip”压缩包提供了一个模仿中关村在线(ZOL)网站分页效果的PHP类库。下面将详细解释这个类库的工作原理、特点以及如何使用它。 首先,ZOL分页效果的特点在于简洁、清晰的设计,它通常包含...
在实际项目中,你可以根据具体需求对这个通用分页程序进行定制,比如增加每页显示条数的选择,或者优化分页样式以匹配网站设计。 6. **优化与性能** 为了提高性能,可以在数据库层面进行优化,例如使用LIMIT和...
一个通用的PHP分页类可以帮助开发者快速实现这一功能,提高用户体验。下面我们将详细探讨PHP分页类的设计原理、实现方法以及`page.class.php`这个文件可能包含的关键知识点。 1. 分页类设计基础 - **属性**:分页...
本压缩包文件“php实现数据分页的通用方法类.zip”提供了一个PHP类库,帮助开发者轻松实现这个功能。 首先,我们要理解什么是数据分页。数据分页是将数据库查询结果按一定的数量(如每页10条)进行分割,然后根据...