千家信息网

php分页类代码是怎么样的

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍了php分页类代码是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。这是一款简单,方便,功能齐全的分页类,可以根
千家信息网最后更新 2025年01月16日php分页类代码是怎么样的

这篇文章主要介绍了php分页类代码是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

这是一款简单,方便,功能齐全的分页类,可以根据自己的需要更改CSS样式文件以实现分页颜色的控制,利用php分页类,可以省去自己很多时间,只需要在分页的地方嵌入即可,下面看下使用方法:

1,在head里包含pager.css

代码如下:

2,在分页处进行类的实例化:

代码如下:

include "pager.class.php";
$CurrentPage=isset($_GET['page'])?$_GET['page']:1;
//die($CurrentPage);
$myPage=new pager(1300,intval($CurrentPage));
$pageStr= $myPage->GetPagerContent();
//echo $pageStr;
$myPage=new pager(90,intval($CurrentPage));
$pageStr= $myPage->GetPagerContent();
echo $pageStr;
?>

3,读取mysql数据库和分页计算文件需要自己写出来。例如:

$info=mysql_query("select * from member order by id desc limit $offset,$info_num"); 这样才能调到 mysql 数据库和当前页码等。

下面是一共包含的三个文件:(1) index.php:调用分页类,显示分页 (2) pager.class.php:php分页类 (3)pager.css:css样式美化文件

(1) index.php:

代码如下:




----分页演示-----



include "pager.class.php";
$CurrentPage=isset($_GET['page'])?$_GET['page']:1;
//die($CurrentPage);
$myPage=new pager(1300,intval($CurrentPage));
$pageStr= $myPage->GetPagerContent();
//echo $pageStr;
$myPage=new pager(90,intval($CurrentPage));
$pageStr= $myPage->GetPagerContent();
echo $pageStr;
?>

(2) pager.class.php:

代码如下:


/*
* PHP分页类
* @package Page
* @Created 2013-03-27
* @Modify 2013-03-27
* @link http://www.60ie.net
* Example:
$myPage=new Pager(1300,intval($CurrentPage));
$pageStr= $myPage->GetPagerContent();
echo $pageStr;
*/
class Pager {
private $pageSize = 10;
private $pageIndex;
private $totalNum;

private $totalPagesCount;

private $pageUrl;
private static $_instance;

public function __construct($p_totalNum, $p_pageIndex, $p_pageSize = 10,$p_initNum=3,$p_initMaxNum=5) {
if (! isset ( $p_totalNum ) || !isset($p_pageIndex)) {
die ( "pager initial error" );
}

$this->totalNum = $p_totalNum;
$this->pageIndex = $p_pageIndex;
$this->pageSize = $p_pageSize;
$this->initNum=$p_initNum;
$this->initMaxNum=$p_initMaxNum;
$this->totalPagesCount= ceil($p_totalNum / $p_pageSize);
$this->pageUrl=$this->_getPageUrl();

$this->_initPagerLegal();
}


/**
* 获取去除page部分的当前URL字符串
*
* @return String URL字符串
*/
private function _getPageUrl() {
$CurrentUrl = $_SERVER["REQUEST_URI"];
$arrUrl = parse_url($CurrentUrl);
$urlQuery = $arrUrl["query"];

if($urlQuery){
$urlQuery = ereg_replace("(^|&)page=" . $this->pageIndex, "", $urlQuery);
$CurrentUrl = str_replace($arrUrl["query"], $urlQuery, $CurrentUrl);

if($urlQuery){
$CurrentUrl.="&page";
}
else $CurrentUrl.="page";

} else {
$CurrentUrl.="?page";
}

return $CurrentUrl;

}
/*
*设置页面参数合法性
*@return void
*/
private function _initPagerLegal()
{
if((!is_numeric($this->pageIndex)) || $this->pageIndex<1)
{
$this->pageIndex=1;
}elseif($this->pageIndex > $this->totalPagesCount)
{
$this->pageIndex=$this->totalPagesCount;
}



}
//$this->pageUrl}={$i}
//{$this->CurrentUrl}={$this->TotalPages}
public function GetPagerContent() {
$str = "

";
//首页 上一页
if($this->pageIndex==1)
{
$str .="首页 "."\n";
$str .="上一页 "."\n"."\n";
}else
{
$str .="首页 "."\n";
$str .="上一页 "."\n"."\n";
}



/*

除首末后 页面分页逻辑

*/
//10页(含)以下
$currnt="";
if($this->totalPagesCount<=10)
{

for($i=1;$i<=$this->totalPagesCount;$i++)

{
if($i==$this->pageIndex)
{ $currnt=" class='current'";}
else
{ $currnt=""; }
$str .="$i"."\n" ;
}
}else //10页以上
{ if($this->pageIndex<3) //当前页小于3
{
for($i=1;$i<=3;$i++)
{
if($i==$this->pageIndex)
{ $currnt=" class='current'";}
else
{ $currnt=""; }
$str .="$i"."\n" ;
}

$str.="……"."\n";

for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1
{
$str .="$i"."\n" ;

}
}elseif($this->pageIndex<=5) // 5 >= 当前页 >= 3
{
for($i=1;$i<=($this->pageIndex+1);$i++)
{
if($i==$this->pageIndex)
{ $currnt=" class='current'";}
else
{ $currnt=""; }
$str .="$i"."\n" ;

}
$str.="……"."\n";

for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1
{
$str .="$i"."\n" ;

}

}elseif(5<$this->pageIndex && $this->pageIndex<=$this->totalPagesCount-5 ) //当前页大于5,同时小于总页数-5

{

for($i=1;$i<=3;$i++)
{
$str .="$i"."\n" ;
}
$str.="……";
for($i=$this->pageIndex-1 ;$i<=$this->pageIndex+1 && $i<=$this->totalPagesCount-5+1;$i++)
{
if($i==$this->pageIndex)
{ $currnt=" class='current'";}
else
{ $currnt=""; }
$str .="$i"."\n" ;
}
$str.="……";

for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)
{
$str .="$i"."\n" ;

}
}else
{

for($i=1;$i<=3;$i++)
{
$str .="$i"."\n" ;
}
$str.="……"."\n";

for($i=$this->totalPagesCount-5;$i<=$this->totalPagesCount;$i++)//功能1
{
if($i==$this->pageIndex)
{ $currnt=" class='current'";}
else
{ $currnt=""; }
$str .="$i"."\n" ;

}
}

}




/*

除首末后 页面分页逻辑结束

*/

//下一页 末页
if($this->pageIndex==$this->totalPagesCount)
{
$str .="\n"."下一页"."\n" ;
$str .="末页"."\n";


}else
{
$str .="\n"."下一页 "."\n";
$str .="末页 "."\n" ;
}

$str .= "
";
return $str;
}




/**
* 获得实例
* @return
*/
// static public function getInstance() {
// if (is_null ( self::$_instance )) {
// self::$_instance = new pager ();
// }
// return self::$_instance;
// }


}
?>

(3) pager.css:

复制代码 代码如下:


body,html{ padding:0px; margin:0px; color:#333333; font-family:"宋体",Arial,Lucida,Verdana,Helvetica,sans-serif; font-size:12px; line-height:150%;}

h2,h3,h4,h5,h6,h7,ul,li,dl,dt,dd,form,img,p,label{margin:0; padding:0; border:none; list-style-type:none;}

/**前台分页样式**/

.Pagination {margin:10px 0 0;padding:5px 0;text-align:rightright; height:20px; line-height:20px; font-family:Arial, Helvetica, sans-serif,"宋体";}

.Pagination a {margin-left:2px;padding:2px 7px 2px;}

.Pagination .dot{ border:medium none; padding:4px 8px}

.Pagination a:link, .Pagination a:visited {border:1px solid #dedede;color:#696969;text-decoration:none;}

.Pagination a:hover, .Pagination a:active, .Pagination a.current:link, .Pagination a.current:visited {border:1px solid #dedede;color:#fff; background-color:#ff6600; background-image:none; border:#ff6600 solid 1px;}

.Pagination .selectBar{ border:#dedede solid 1px; font-size:12px; width:95px; height:21px; line-height:21px; margin-left:10px; display:inline}

.Pagination a.tips{_padding:4px 7px 1px;}

感谢你能够认真阅读完这篇文章,希望小编分享的"php分页类代码是怎么样的"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

代码 功能 文件 篇文章 上一 首页 样式 页面 同时 字符 字符串 宋体 实例 数据 数据库 逻辑 合法 齐全 三个 价值 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 绝地求生2服务器修复一般要多久 上海光大证券软件开发部 进口数据库编程软件多少钱 医院系统的软件开发公司吗 如何维护重点安保期间网络安全 阳江市网络安全宣传活动 手机终端工作软件开发 网络安全法主题论坛 上海丹橘软件开发工作室 数据库本身判断错误 珍爱网上冒充软件开发高帅 电商在线交流数据库设计 mc服务器怎么玩 河南省网络安全舆情管理系统 汇丰软件开发 重庆大足食材配送软件开发 网络安全什么时候提出的 服务器堵塞会造成什么后果 替换数据库字段空格 苹果8怎么清楚应用数据库 技术好的软件开发公司 什么人适合做网络安全开发 医院系统的软件开发公司吗 关于互联网与新兴科技的名言 对网络安全最想说的话 去哪里可以学习网络技术 素描网络安全系统视频教程 极氪软件开发团队 刺激战场美服服务器怎么进去 网络安全监察处
0