程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 類似dz 分頁代碼

類似dz 分頁代碼

編輯:關於PHP編程

一個頁面滾動欄實現的類

用法示例:


<?php
Class_Scroll
::_Print($_SERVER['PHP_SELF'],1234,$_GET['Page'],10,$_SERVER['QUERY_STRING'],"Page",9,true);
?>

<?php
/**
 * 實現滾動欄的類
 *
 * 根據頁面內容,數據量,生成一個用來顯示/控制的頁面滾動欄.
 * <code>
 * Class_Scroll::_Print($_SERVER['PHP_SELF'],1234,$_GET['Page'],10,$_SERVER['QUERY_STRING'],"Page",9,true);
 * </code>
 *
 * @author 周貝晨 2006-7-16
 * @version 2.1
 *
 * @todo 生成一個頁面內容滾動欄
 */
class Class_Scroll{
 /**
  * 輸出頁面滾動欄
  *
  * @param string $AScriptName 要進行滾動的頁面
  * @param integer $ATotalCount 滾動信息的總數
  * @param integer $ANowPageID 當前頁號
  * @param integer $AInnerCount 每頁內的信息數
  * @param string $AVar 需要附帶的其它變量及其值
  * @param string $APageKey 用來指定頁號的變量名
  * @param integer $APageBundle 滾動欄顯示的頁數批示最大值
  * @param boolean $IncJump 是否顯示頁面跳轉下拉單(默認:true)
  * @return string 頁面滾動欄的HTML代碼
  */
 function _Print($AScriptName,$ATotalCount,$ANowPageID,$AInnerCount,$AVar,$APageKey="Page",$APageBundle=9,$IncJump = true){
  // 沒有項目
  if( $ATotalCount == 0 or $ATotalCount == "") return "沒有相關內容.";//"No Item Here.";
  // 計算總頁數
  $PageCount = ceil($ATotalCount / $AInnerCount);
  // 檢查控制當前頁碼值
  if($ANowPageID < 1) $ANowPageID = 1;
  if($ANowPageID > $PageCount) $ANowPageID = $PageCount;
  // 確定當然要顯示的數碼鏈接值
  $StartNum = ($ANowPageID - floor($APageBundle / 2)) > 0 ? ($ANowPageID - floor($APageBundle / 2)) : 1;
  $EndNum = ($PageCount - $StartNum) < $APageBundle ? $PageCount : ($StartNum + $APageBundle - 1);
  if((($EndNum - $StartNum) < $APageBundle)&&($PageCount > $APageBundle)) $StartNum = $EndNum - $APageBundle + 1;
  // 獲得變量
  if(strlen($AVar) > 0) $Vars = explode("&",$AVar);
  if(count($Vars) > 0){
   for($i=0;$i<count($Vars);$i++){
    $v = explode("=",$Vars[$i]);
    if($v[0]!=$APageKey) $VarString.=sprintf("%s=%s&",$v[0],$v[1]);
   }
  }
  // 首頁鏈接
  $OutStringr = sprintf('<a href="%s?%s%s=%s">%s</a>%s',$AScriptName,$VarString,$APageKey,"1","首頁","r");
  // 上一頁鏈接
  $OutStringr .= ($ANowPageID==1) ? " " : sprintf('<a href="%s?%s%s=%s">%s</a>%s',$AScriptName,$VarString,$APageKey,$ANowPageID-1,"上一頁","r");
  // 中間頁鏈接
  for($i = $StartNum; $i <= $EndNum; $i++)
  $OutStringr .= ($i==$ANowPageID) ? sprintf("<span class="Currpage">%s</span>%s",$i,"r") : sprintf('<a href="%s?%s%s=%s">%s</a>%s',$AScriptName,$VarString,$APageKey,$i,$i,"r");
  // 下一頁鏈接
  $OutStringr .= ($ANowPageID==$PageCount) ? " " : sprintf('<a href="%s?%s%s=%s">%s</a>%s',$AScriptName,$VarString,$APageKey,$ANowPageID+1,"下一頁","r");
  // 尾頁鏈接
  $OutStringr .= sprintf('<a href="%s?%s%s=%s">%s</a> 共%s頁%s條%s',$AScriptName,$VarString,$APageKey,$PageCount,"尾頁",$PageCount,$ATotalCount,"r");
  // 跳轉鏈接
  if ($IncJump){
   $OutStringr .= sprintf("<label>跳至(J): <select name="ScrollJump" accesskey="j" onChange="javascript:if(this.value != 0) document.location='%s?%s%s='+this.value;" id="ScrollJump">%s",$$AScriptName,$VarString,$APageKey,"r");
   for($i = 1; $i <= $PageCount; $i++) {
    $SelectedStr = ($i == $ANowPageID) ? " selected="selected"" : "";
    $OutStringr .= sprintf("<option value="%d"%s>第%d頁</option>%s",$i,$SelectedStr,$i,"r");
   }
   $OutStringr .= "</select></label>";
  }
  // 輸出
  return $OutStringr;
 }
}
?>

 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved