跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

精美漂亮的php分页类代码_php实例

非常精美的一款 php 分页类,可以直接应用到分页系统上,是一款mysql数据库分页必备的一个工具,只需要将类文件和分页css样式嵌入即可实现精美分页。 这是一款简单,方便,功能齐全的分页类,可以根据自己的需要更改CSS样式文件以实现分页颜色的控制,利用php分页类,可以省去自己很多时间,只需要在分页的地方嵌入即可,下面看下使用方法: 1,在head里包含pager.css 复制代码 代码如下: 2,在分页处进行类的实例化: 复制代码 代码如下: GetPagerContent(); //echo $pageStr; $myPage=new pager(90,intval($CurrentPage)); $pageStr= $myPage->GetPagerContent(); echo $pageStr; ?> 3,读取mysql数据库和分页计算文件需要自己写出来。例如: 立即学习 “ PHP免费学习笔记(深入) ”; $info=mysql_query("select * from member order by id desc limit $offset,$info_num");  这样才能调到 mysql 数据库和当前页码等。 PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 下面是一共包含的三个文件:(1) index.php:调用分页类,显示分页 (2) pager.class.php:php分页类 (3)pager.css:css样式美化文件 (1) index.php: 复制代码 代码如下: ----分页演示----- GetPagerContent(); //echo $pageStr; $myPage=new pager(90,intval($CurrentPage)); $pageStr= $myPage->GetPagerContent(); echo $pageStr; ?> (2) pager.class.php: 复制代码 代码如下: 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 .="pageUrl}=1' class='tips' title='首页'>首页 "."\n"; $str .="pageUrl}=".($this->pageIndex-1)."' class='tips' title='上一页'>上一页 "."\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 .="pageUrl}={$i} ' {$currnt}>$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 .="pageUrl}={$i} ' {$currnt}>$i"."\n" ; } $str.="……"."\n"; for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1 { $str .="pageUrl}={$i}' >$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 .="pageUrl}={$i} ' {$currnt}>$i"."\n" ; } $str.="……"."\n"; for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1 { $str .="pageUrl}={$i}' >$i"."\n" ; } }elseif(5<$this->pageIndex  &&  $this->pageIndex<=$this->totalPagesCount-5 )             //当前页大于5,同时小于总页数-5 { for($i=1;$i<=3;$i++) { $str .="pageUrl}={$i}' >$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 .="pageUrl}={$i} ' {$currnt}>$i"."\n" ; } $str.="……"; for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++) { $str .="pageUrl}={$i}' >$i"."\n" ; } }else { for($i=1;$i<=3;$i++) { $str .="pageUrl}={$i}' >$i"."\n" ; } $str.="……"."\n"; for($i=$this->totalPagesCount-5;$i<=$this->totalPagesCount;$i++)//功能1 { if($i==$this->pageIndex) {    $currnt=" class='current'";} else {    $currnt="";    } $str .="pageUrl}={$i} ' {$currnt}>$i"."\n" ; } } } /* 除首末后 页面分页逻辑结束 */ //下一页 末页 if($this->pageIndex==$this->totalPagesCount) { $str .="\n"."下一页"."\n" ; $str .="末页"."\n"; }else { $str .="\n"."pageUrl}=".($this->pageIndex+1)."' class='tips' title='下一页'>下一页 "."\n"; $str .="pageUrl}={$this->totalPagesCount}' class='tips' title='末页'>末页 "."\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%;} h1,h2,h3,h4,h5,h6,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;} 转载:http://www.php.cn/

相关文章