php google或baidu分页代码
php google或baidu分页代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:

复制代码 代码如下:

<?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>第1页</font></a> <a href="".$this->baseUri."page=$this->previous"><fontstyle="font-family:webdings">前一页</font></a>";

else

$result.="<font>第1页</font> <font></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>后一页</font></a> ";

$result.="<a href="".$this->baseUri."page=$this->pageTotal"><font>最后1页</font></a>";

}else{

$result.="<font>最后1页</font> <font></font>";

}

return $result;

}

/**

*执行分页

**/

public function execute(){

if($this->baseUri!=""&&$this->recorbTotal==0)

return"";

$this->arithmetic();

return $this->pageStyle();

}

}

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类