當前位置:編程學習大全網 - 腳本源碼 - PHP如何實現分頁顯示?

PHP如何實現分頁顯示?

文件名: c_mysql_page.inc // 作 用: MySQL分頁函數類 // 作 者: 天灰 // // 最後修改日期: 2001/07/16[cxx] // 變量定義規則:‘C_’=字符型,‘I_’=整型,‘N_’=數字型,‘L_’=布爾型,‘A_’=數組型 //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ // ※c_mysql_page() 構造函數,設置分頁初始參數 // ※page_standard() 分頁顯示函數(標準型) // ※GetRecordStartEnd() 獲得取記錄的開始結束位置 // ※getmaxpage() 獲得記錄集的最大頁數 // ※checkpage() 檢查當前頁數是否在0和最大頁數之間 //------------------------------------------------------------------------------------------ class c_mysql_page { //------------------------------------------------------------------------------------------ // 變量定義 //------------------------------------------------------------------------------------------ var $I_pagesize = 10; //每頁記錄數 var $C_width = '80%'; //表格寬度 //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ // 函數名:c_mysql_page ($I_pagesize, $c_width) // 作 用:構造函數,設置分頁初始參數 // 參 數:$I_pagesize, $c_width // 返回值:變量 // 備 註:構造函數隨著類的建立而自動執行 //------------------------------------------------------------------------------------------ function c_mysql_page ($I_pagesize=10, $C_width='80%') { if (isset($I_pagesize)){$this -> I_pagesize = $I_pagesize;} if (isset($C_width)){$this -> C_width = $C_width;} } //------------------------------------------------------------------------------------------ // 函數名:page_standard($I_sumrecord,$C_page,$C_url="self",$C_otherpara="") // 作 用:分頁顯示函數(標準型) // 參 數:$I_sumrecord 記錄總數 // $C_url URL // $C_page URL後的參數 // $C_otherpara URL後的參數2 // $bgcolor 表格的背景顏色 // 返回值:<table> // 備 註:無 //------------------------------------------------------------------------------------------ function page_standard($I_sumrecord,$C_page,$C_url="self",$C_otherpara="",$bgcolor="") { //檢查參數 if ((!$I_sumrecord) || (!$C_page)){AlertExit("參數不全!");} global $PHP_SELF,$$C_page; //全局變量$C_page //檢測$I_pagesize是否合法 if($this -> I_pagesize < 1){AlertExit("請設定每頁的記錄數!");} if($I_sumrecord < 1){return false;} //檢測總記錄數 if($C_url == "self"){$C_url = $PHP_SELF;} //設置URL $I_page = $$C_page; //重新賦當前頁值 $I_maxpage = $this -> getmaxpage($I_sumrecord); //取出總頁數 $I_page = $this -> checkPage($I_maxpage,$I_page); //檢查當前頁號 //顯示表 echo "<table align=center width=". $this -> C_width ." bgcolor=". $bgcolor .">"; echo "<tr>"; echo "<td align=left>***<font color=red><b>" . $I_sumrecord. "</b></font>條主題&nbsp當前第<font color=red><b>" . $I_page . "/". $I_maxpage. "</b></font>頁</td>"; if ($I_maxpage > 1) { echo "<td align=right>"; if($I_page > 1 && $I_page < $I_maxpage) { echo "<a href= $C_url?$C_page=1&$C_otherpara>首頁</a>"; $pre=$I_page-1; echo "<a href=$C_url?$C_page=$pre&$C_otherpara>上頁</a>"; $next=$I_page+1; echo "<a href=$C_url?$C_page=$next&$C_otherpara>下頁</a>"; echo "<a href=$C_url?$C_page=$I_maxpage&$C_otherpara>末頁</a>"; } elseif($I_page == 1) { $next = $I_page+1; echo "<a href=$C_url?$C_page=$next&$C_otherpara>下頁</a>"; echo "<a href=$C_url?$C_page=$I_maxpage&$C_otherpara>末頁</a>"; } elseif($I_page == $I_maxpage) { echo "<a href=$C_url?$C_page=1&$C_otherpara>首頁</a>"; $pre=$I_page-1; echo "<a href=$C_url?$C_page=$pre&$C_otherpara>上頁</a>"; } //顯示select echo "轉到"; echo "<SELECT style=font-size:9pt NAME=gopage class='ff' OnChange=".WindowLocation($C_url,$C_otherpara,$C_page).">";//OnChange=".WindowLocation($C_url,$C_otherpara,$C_page)." for($i=1;$i <= $I_maxpage;$i++) { //如$i==$I_page,此選項選中(selected) if($i == $I_page){echo "<option value=$i selected>$i</option>";} else{echo "<option value=$i>$i</option>";} } echo "</SELECT>頁</td>"; } echo "</tr>"; echo "</table>"; } //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ // 函數名:GetRecordStartEnd($I_page) // 作 用:獲得取記錄的開始結束位置 // 參 數:$I_page 當前頁 // 返回值:全局變量$I_rowstart,$I_pagesize // 備 註:無 //------------------------------------------------------------------------------------------ function GetRecordStartEnd($I_page) { global $I_rowstart; global $I_pagesize; $I_rowstart = ($I_page-1)*$this -> I_pagesize; $I_pagesize = $this -> I_pagesize; } //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ // 函數名:getmaxpage($intRecordNum) // 作 用:獲得記錄集的最大頁數 // 參 數:$I_sumrecord 記錄總數 // 返回值:最大頁數$I_maxpage(整型) // 備 註:無 //------------------------------------------------------------------------------------------ function getmaxpage($I_sumrecord) { if (!$I_sumrecord){AlertExit("參數不全!>

  • 上一篇:愉快的周末 英語作文
  • 下一篇:《溺水 小刀》結局阿航怎麽死的?
  • copyright 2024編程學習大全網