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程序的php代码
Apr 07 PHP
php采集速度探究总结(原创)
Apr 18 PHP
php 变量定义方法
Jun 14 PHP
php 分页函数multi() discuz
Jun 21 PHP
php 操作excel文件的方法小结
Dec 31 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 PHP
深入phpMyAdmin的安装与配置的详细步骤
May 07 PHP
php定义数组和使用示例(php数组的定义方法)
Mar 29 PHP
php判断两个浮点数是否相等的方法
Mar 14 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 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简单选择排序算法实例
2015/01/26 PHP
php查看网页源代码的方法
2015/03/13 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
js删除所有的cookie的代码
2010/11/25 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
javascript版2048小游戏
2015/03/18 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
Python实现获取某天是某个月中的第几周
2015/02/11 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
python利用标准库如何获取本地IP示例详解
2017/11/01 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
通过Pandas读取大文件的实例
2018/06/07 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
python3使用GUI统计代码量
2019/09/18 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
UGG英国官方网站:UGG UK
2018/02/08 全球购物
法律专业学生的自我评价
2014/02/07 职场文书
高三英语复习计划
2015/01/19 职场文书
股东大会通知
2015/04/24 职场文书
西安事变观后感
2015/06/12 职场文书
女儿满月酒致辞
2015/07/29 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL