您好,欢迎访问一九零五行业门户网

php分页类代码

这是一款简单,方便,功能齐全的分页类,可以根据自己的需要更改css样式文件以实现分页颜色的控制,利用php分页类,可以省去自己很多时间,只需要在分页的地方嵌入即可,下面看下使用方法:
1,在head里包含pager.css
<link href="pager.css" type="text/css" rel="stylesheet" />
2,在分页处进行类的实例化:
<?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; ?>
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:
<head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>----分页演示-----</title> <link href="pager.css" type="text/css" rel="stylesheet" /> </head> <body> <?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; ?> </body> </html>
(2) pager.class.php:
<?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 = "<p class=\"pagination\">"; //首页 上一页 if($this->pageindex==1) { $str .="<a href='javascript:void(0)' class='tips' title='首页'>首页</a> "."\n"; $str .="<a href='javascript:void(0)' class='tips' title='上一页'>上一页</a> "."\n"."\n"; }else { $str .="<a href='{$this->pageurl}=1' class='tips' title='首页'>首页</a> "."\n"; $str .="<a href='{$this->pageurl}=".($this->pageindex-1)."' class='tips' title='上一页'>上一页</a> "."\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 .="<a href='{$this->pageurl}={$i} ' {$currnt}>$i</a>"."\n" ; } }else //10页以上 { if($this->pageindex<3) //当前页小于3 { for($i=1;$i<=3;$i++) { if($i==$this->pageindex) { $currnt=" class='current'";} else { $currnt=""; } $str .="<a href='{$this->pageurl}={$i} ' {$currnt}>$i</a>"."\n" ; } $str.="<span class=\"dot\">……</span>"."\n"; for($i=$this->totalpagescount-3+1;$i<=$this->totalpagescount;$i++)//功能1 { $str .="<a href='{$this->pageurl}={$i}' >$i</a>"."\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 .="<a href='{$this->pageurl}={$i} ' {$currnt}>$i</a>"."\n" ; } $str.="<span class=\"dot\">……</span>"."\n"; for($i=$this->totalpagescount-3+1;$i<=$this->totalpagescount;$i++)//功能1 { $str .="<a href='{$this->pageurl}={$i}' >$i</a>"."\n" ; } }elseif(5<$this->pageindex && $this->pageindex<=$this->totalpagescount-5 ) //当前页大于5,同时小于总页数-5 { for($i=1;$i<=3;$i++) { $str .="<a href='{$this->pageurl}={$i}' >$i</a>"."\n" ; } $str.="<span class=\"dot\">……</span>"; 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 .="<a href='{$this->pageurl}={$i} ' {$currnt}>$i</a>"."\n" ; } $str.="<span class=\"dot\">……</span>"; for($i=$this->totalpagescount-3+1;$i<=$this->totalpagescount;$i++) { $str .="<a href='{$this->pageurl}={$i}' >$i</a>"."\n" ; } }else { for($i=1;$i<=3;$i++) { $str .="<a href='{$this->pageurl}={$i}' >$i</a>"."\n" ; } $str.="<span class=\"dot\">……</span>"."\n"; for($i=$this->totalpagescount-5;$i<=$this->totalpagescount;$i++)//功能1 { if($i==$this->pageindex) { $currnt=" class='current'";} else { $currnt=""; } $str .="<a href='{$this->pageurl}={$i} ' {$currnt}>$i</a>"."\n" ; } } } /* 除首末后 页面分页逻辑结束 */ //下一页 末页 if($this->pageindex==$this->totalpagescount) { $str .="\n"."<a href='javascript:void(0)' class='tips' title='下一页'>下一页</a>"."\n" ; $str .="<a href='javascript:void(0)' class='tips' title='末页'>末页</a>"."\n"; }else { $str .="\n"."<a href='{$this->pageurl}=".($this->pageindex+1)."' class='tips' title='下一页'>下一页</a> "."\n"; $str .="<a href='{$this->pageurl}={$this->totalpagescount}' class='tips' title='末页'>末页</a> "."\n" ; } $str .= "</p>"; 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;}
更多php分页类代码。
相关文章:
使用php实现简单分页类及其详细的使用方法
php分页 php分页显示制作详细讲解
php 分页原理详解
其它类似信息

推荐信息