這是一款簡單,方便,功能齊全的分頁類,可以根據自己的需求更改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,mymsql出來。例如:
$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在現代Web開發中仍然重要,尤其在內容管理和電子商務平台。 1)PHP擁有豐富的生態系統和強大框架支持,如Laravel和Symfony。 2)性能優化可通過OPcache和Nginx實現。 3)PHP8.0引入JIT編譯器,提升性能。 4)雲原生應用通過Docker和Kubernetes部署,提高靈活性和可擴展性。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP成為許多網站首選技術棧的原因包括其易用性、強大社區支持和廣泛應用。 1)易於學習和使用,適合初學者。 2)擁有龐大的開發者社區,資源豐富。 3)廣泛應用於WordPress、Drupal等平台。 4)與Web服務器緊密集成,簡化開發部署。

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1
強大的PHP整合開發環境