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 相关文章推荐
别人整理的服务器变量:$_SERVER
Oct 20 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
php foreach、while性能比较
Oct 15 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
Laravel与CI框架中截取字符串函数
May 08 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP7新功能总结
Apr 14 PHP
redis+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
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
Python实现全排列的打印
2018/08/18 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
暑假实习求职信范文
2013/09/22 职场文书
金融管理应届生求职信
2014/02/20 职场文书
作文评语怎么写
2014/12/25 职场文书
教师考核评语大全
2014/12/31 职场文书
爱的承诺书
2015/01/20 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android