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 相关文章推荐
PHP 中dirname(_file_)讲解
Mar 18 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
php中url函数介绍及使用示例
Feb 13 PHP
php实现字符串首字母转换成大写的方法
Mar 17 PHP
Yii清理缓存的方法
Jan 06 PHP
Symfony2安装的方法(2种方法)
Feb 04 PHP
详解Laravel视图间共享数据与视图Composer
Aug 04 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 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全角字符转换为半角函数
2014/02/07 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
smarty表格换行实例
2014/12/15 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
javascript json字符串到json对象转义问题
2019/01/22 Javascript
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
python中Lambda表达式详解
2019/11/20 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
一年级班主任寄语
2014/01/19 职场文书
团支部推优材料
2014/05/21 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
全民创业工作总结
2015/08/13 职场文书
Python实现拼音转换
2021/06/07 Python
Python实现位图分割的效果
2021/11/20 Python
Java 关于String字符串原理上的问题
2022/04/07 Java/Android