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抓取页面与代码解析 推荐
Jul 23 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
php中使用cookie来保存用户登录信息的实现代码
Mar 08 PHP
PHP中将网页导出为Word文档的代码
May 25 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php数组使用规则分析
Feb 27 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 PHP
浅谈PHP中output_buffering
Jul 13 PHP
php批量删除操作代码分享
Feb 26 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
php依赖注入知识点详解
Sep 23 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
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
2015/12/11 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
vue router 源码概览案例分析
2018/10/09 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
Python实现线程池代码分享
2015/06/21 Python
总结Python编程中函数的使用要点
2016/03/20 Python
python 以16进制打印输出的方法
2018/07/09 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
python读写文件write和flush的实现方式
2020/02/21 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
用python计算文件的MD5值
2020/12/23 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
质检员的岗位职责
2013/11/15 职场文书
《口技》教学反思
2014/02/21 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
诉讼授权委托书
2014/10/15 职场文书
个人党性锻炼总结
2015/03/05 职场文书