php google或baidu分页代码


Posted in PHP onNovember 26, 2009
<?php 
/** 作者:潇湘博客 
时间: 
2009-11-26 
php技术群: 
37304662 
使用方法: 
include_once'Pager.class.php'; 
$pager=new Pager(); 
if(isset($_GET['page'])) 
$pager->setCurrentPage($_GET['page']); 
else 
$pager->setCurrentPage(1); 
$pager->setRecorbTotal(1000); 
$pager->setBaseUri("page.php?"); 
echo $pager->execute(); 
**/ 
class Pager{ 
/** 
*int总页数 
**/ 
protected $pageTotal; 
/** 
*int上一页 
**/ 
protected $previous; 
/** 
*int下一页 
**/ 
protected $next; 
/** 
*int中间页起始序号 
**/ 
protected $startPage; 
/** 
*int中间页终止序号 
**/ 
protected $endPage; 
/** 
*int记录总数 
**/ 
protected $recorbTotal; 
/** 
*int每页显示记录数 
**/ 
protected $pageSize; 
/** 
*int当前显示页 
**/ 
protected $currentPage; 
/** 
*string基url地址 
**/ 
protected $baseUri; 
/** 
*@returnstring获取基url地址 
*/ 
public function getBaseUri(){ 
return$this->baseUri; 
} 
/** 
*@returnint获取当前显示页 
*/ 
public function getCurrentPage(){ 
return $this->currentPage; 
} 
/** 
*@returnint获取每页显示记录数 
*/ 
public function getPageSize(){ 
return $this->pageSize; 
} 
/** 
*@returnint获取记录总数 
*/ 
public function getRecorbTotal(){ 
return$this->recorbTotal; 
} 
/** 
*@paramstring$baseUri设置基url地址 
*/ 
public function setBaseUri($baseUri){ 
$this->baseUri=$baseUri; 
} 
/** 
*@paramint$currentPage设置当前显示页 
*/ 
public function setCurrentPage($currentPage){ 
$this->currentPage=$currentPage; 
} 
/** 
*@paramint$pageSize设置每页显示记录数 
*/ 
public function setPageSize($pageSize){ 
$this->pageSize=$pageSize; 
} 
/** 
*@paramint$recorbTotal设置获取记录总数 
*/ 
public function setRecorbTotal($recorbTotal){ 
$this->recorbTotal=$recorbTotal; 
} 
/** 
*构造函数 
**/ 
public function __construct() 
{ 
$this->pageTotal=0; 
$this->previous=0; 
$this->next=0; 
$this->startPage=0; 
$this->endPage=0; 
$this->pageSize=20; 
$this->currentPage=0; 
} 
/** 
*分页算法 
**/ 
private function arithmetic(){ 
if($this->currentPage<1) 
$this->currentPage=1; 
$this->pageTotal=floor($this->recorbTotal/$this->pageSize)+($this->recorbTotal%$this->pageSize>0?1:0); 
if($this->currentPage>1&&$this->currentPage>$this->pageTotal) 
header('location:'.$this->baseUri.'page='.$this->pageTotal); 
$this->next=$this->currentPage+1; 
$this->previous=$this->currentPage-1; 
$this->startPage=($this->currentPage+5)>$this->pageTotal?$this->pageTotal-10:$this->currentPage-5; 
$this->endPage=$this->currentPage<5?11:$this->currentPage+5; 
if($this->startPage<1) 
$this->startPage=1; 
if($this->pageTotal<$this->endPage) 
$this->endPage=$this->pageTotal; 
} 
/** 
*分页样式 
**/ 

protected function pageStyle(){ 
$result="共".$this->pageTotal."页"; 
if($this->currentPage>1) 
$result.="<a href=\"".$this->baseUri."page=1\"><font style=\"font-family:webdings\">第1页</font></a> <a href=\"".$this->baseUri."page=$this->previous\"><fontstyle=\"font-family:webdings\">前一页</font></a>"; 
else 
$result.="<font style=\"font-family:webdings\">第1页</font> <font style=\"font-family:webdings\"></font>"; 
for($i=$this->startPage;$i<=$this->endPage;$i++){ 
if($this->currentPage==$i) 
$result.="<font color=\"#ff0000\">$i</font>"; 
else 
$result.=" <a href=\"".$this->baseUri."page=$i\">$i</a> "; 
} 
if($this->currentPage!=$this->pageTotal){ 
$result.="<a href=\"".$this->baseUri."page=$this->next\"><font style=\"font-family:webdings\">后一页</font></a> "; 
$result.="<a href=\"".$this->baseUri."page=$this->pageTotal\"><font style=\"font-family:webdings\">最后1页</font></a>"; 
}else{ 
$result.="<font style=\"font-family:webdings\">最后1页</font> <font style=\"font-family:webdings\"></font>"; 
} 
return $result; 
} 

/** 
*执行分页 
**/ 
public function execute(){ 
if($this->baseUri!=""&&$this->recorbTotal==0) 
return""; 
$this->arithmetic(); 
return $this->pageStyle(); 
} 
} 
?>
PHP 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
php google或baidu分页代码
Nov 26 PHP
php缓存技术详细总结
Aug 07 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
Laravel框架中扩展函数、扩展自定义类的方法
Sep 04 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
Dec 11 PHP
PHP编程中尝试程序并发的几种方式总结
Mar 21 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
thinkPHP框架中执行事务的方法示例
May 31 PHP
php中的钩子理解及应用实例分析
Aug 30 PHP
PHP常用header头定义代码示例汇总
Aug 29 PHP
php 接口类与抽象类的实际作用
Nov 26 #PHP
在mysql数据库原有字段后增加新内容
Nov 26 #PHP
Ajax PHP 边学边练 之三 数据库
Nov 26 #PHP
php 运行效率总结(提示程序速度)
Nov 26 #PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 #PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 #PHP
php Memcache 中实现消息队列
Nov 24 #PHP
You might like
PHP parse_url 一个好用的函数
2009/10/03 PHP
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
类之Prototype.js学习
2007/06/13 Javascript
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
Jquery 学习笔记(一)
2009/10/13 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
python列表操作实例
2015/01/14 Python
python读写二进制文件的方法
2015/05/09 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
python django生成迁移文件的实例
2019/08/31 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
python中uuid模块实例浅析
2020/12/29 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
前端实现打印图像功能
2019/08/27 HTML / CSS
专科应届生求职信
2013/11/24 职场文书
职业生涯规划怎么写
2013/12/29 职场文书
党建工作先进材料
2014/05/02 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
结婚司仪主持词
2015/06/29 职场文书
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫