zl程序教程

您现在的位置是:首页 >  其他

当前栏目

phpgoogle或baidu分页代码

代码 分页 baidu
2023-06-13 09:14:14 时间

复制代码代码如下:


<?php
/**

作者:潇湘博客

时间:
2009-11-26

php技术群:
37304662

使用方法:
include_once"Pager.class.php";
$pager=newPager();
if(isset($_GET["page"]))
$pager->setCurrentPage($_GET["page"]);
else
$pager->setCurrentPage(1);

$pager->setRecorbTotal(1000);
$pager->setBaseUri("page.php?");
echo$pager->execute();

**/
classPager{
/**
*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地址
*/
publicfunctiongetBaseUri(){
return$this->baseUri;
}

/**
*@returnint获取当前显示页
*/
publicfunctiongetCurrentPage(){
return$this->currentPage;
}

/**
*@returnint获取每页显示记录数
*/
publicfunctiongetPageSize(){
return$this->pageSize;
}

/**
*@returnint获取记录总数
*/
publicfunctiongetRecorbTotal(){
return$this->recorbTotal;
}

/**
*@paramstring$baseUri设置基url地址
*/
publicfunctionsetBaseUri($baseUri){
$this->baseUri=$baseUri;
}

/**
*@paramint$currentPage设置当前显示页
*/
publicfunctionsetCurrentPage($currentPage){
$this->currentPage=$currentPage;
}

/**
*@paramint$pageSize设置每页显示记录数
*/
publicfunctionsetPageSize($pageSize){
$this->pageSize=$pageSize;
}

/**
*@paramint$recorbTotal设置获取记录总数
*/
publicfunctionsetRecorbTotal($recorbTotal){
$this->recorbTotal=$recorbTotal;
}

/**
*构造函数
**/
publicfunction__construct()
{
$this->pageTotal=0;
$this->previous=0;
$this->next=0;
$this->startPage=0;
$this->endPage=0;

$this->pageSize=20;
$this->currentPage=0;
}

/**
*分页算法
**/
privatefunctionarithmetic(){
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;
}

/**
*分页样式
**/


protectedfunctionpageStyle(){
$result="共".$this->pageTotal."页";

if($this->currentPage>1)
$result.="<ahref=\"".$this->baseUri."page=1\"><fontstyle=\"font-family:webdings\">第1页</font></a><ahref=\"".$this->baseUri."page=$this->previous\"><fontstyle=\"font-family:webdings\">前一页</font></a>";
else
$result.="<fontstyle=\"font-family:webdings\">第1页</font><fontstyle=\"font-family:webdings\"></font>";

for($i=$this->startPage;$i<=$this->endPage;$i++){
if($this->currentPage==$i)
$result.="<fontcolor=\"#ff0000\">$i</font>";
else
$result.="<ahref=\"".$this->baseUri."page=$i\">$i</a>";
}

if($this->currentPage!=$this->pageTotal){
$result.="<ahref=\"".$this->baseUri."page=$this->next\"><fontstyle=\"font-family:webdings\">后一页</font></a>";
$result.="<ahref=\"".$this->baseUri."page=$this->pageTotal\"><fontstyle=\"font-family:webdings\">最后1页</font></a>";
}else{
$result.="<fontstyle=\"font-family:webdings\">最后1页</font><fontstyle=\"font-family:webdings\"></font>";
}
return$result;
}



/**
*执行分页
**/
publicfunctionexecute(){
if($this->baseUri!=""&&$this->recorbTotal==0)
return"";
$this->arithmetic();
return$this->pageStyle();
}
}
?>