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 相关文章推荐
php5中date()得出的时间为什么不是当前时间的解决方法
Jun 30 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
PhpStorm terminal无法输入命令的解决方法
Oct 09 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP函数积累总结
Mar 19 PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 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下连接mssql2005的代码
2011/01/17 PHP
Laravel框架表单验证详解
2014/09/04 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
IE iframe的onload方法分析小结
2010/01/07 Javascript
js word表格动态添加代码
2010/06/07 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
Python字符串和字典相关操作的实例详解
2017/09/23 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
django在开发中取消外键约束的实现
2020/05/20 Python
python用Configobj模块读取配置文件
2020/09/26 Python
捷科时代的软件测试笔试题
2015/11/09 面试题
幼儿园教师国培感言
2014/02/02 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android