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目录操作函数之获取目录与文件的类型
Dec 29 PHP
PHP新手入门学习方法
May 08 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
php读取目录所有文件信息dir示例
Mar 18 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
完整删除ecshop中获取店铺信息的API
Dec 24 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
PHP自动补全表单的两种方法
Mar 06 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
php 截取中英文混合字符串的方法
May 31 PHP
thinkphp5框架路由原理与用法详解
Feb 11 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
如何选购合适的收音机
2021/03/01 无线电
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
2012/02/10 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
js HTML5多媒体影音播放
2016/10/17 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
JavaScript获取select中text值的方法
2017/02/13 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
2017/03/10 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
微信小程序实现动态获取元素宽高的方法分析
2018/12/10 Javascript
Vue 数据响应式相关总结
2021/01/28 Vue.js
python 回调函数和回调方法的实现分析
2016/03/23 Python
Python中生成Epoch的方法
2017/04/26 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
Python Django路径配置实现过程解析
2020/11/05 Python
python压包的概念及实例详解
2021/02/17 Python
营销总监岗位职责范本
2014/02/26 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers