學php時寫的一個分頁顯示的類 (轉)
本類需在前應事先開啟相應的。
本類幾乎可以實現分頁顯示的所有功能,首頁,上一頁,下一頁,末頁,跳轉,前翻,後翻任意頁,列條顯示,輸出文字顏色,背景色,都可自己設定,呼叫簡單易用,今寫出來供大家參考.
page.inc 分頁顯示的類
page. 測試檔案
首先需建立一個資料庫,這裡使用的是sale
作者: 大師 e: xyy_003@163.com
/*********************************************
以下是此分頁類的所有屬性:
***********************************************/
var $MaxLine; //每頁顯示行數
var $MaxPage; //每次顯示分頁數
var $Offset; //記錄偏移量
var $Total; //記錄總數
var $Result; //讀出的結果
var $TPages; //總頁數
var $CPages; //當前頁數
var $;//將要的SQL語句
var $PageQuery; //分頁顯示要傳遞的引數
var $OutPut; //輸出內容
var $TextSize;//輸出文字的大小
var $TextColor;//輸出文字的顏色
var $InBdrColor;//輸出文字框的邊框顏色
var $InBgColor;//輸出文字框的背景顏色
/*********************************************
以下是此分頁類的所有方法:
***********************************************/
構造 Page($SQL,$ML,$MP,$TS,$TC,$INBDRC,$INBGC)
引數:查詢的SQL語句、最大行數、每次輸出的頁碼數、輸出的文字大小、文字顏色、輸入框邊框原色、輸入框背景原色
設定傳遞引數 SetPageQuery($key,$value)
引數:引數名稱,引數值
讀取記錄,顯示輸出 ShowList($startpage,$t,$OF,$PHP_SELF)
引數:輸出頁碼的最小值、何種方式跳轉的標誌,資料記錄集的偏移量,當前檔名
此部分引數無須給定值,呼叫時只需延用以下變數名稱即可
page.inc 類檔案
/*********************************************
分頁顯示資料庫記錄的類
本類需在外部開啟相應的資料庫。
***********************************************/
class Page {
var $MaxLine; //每頁顯示行數
var $MaxPage; //每次顯示分頁數
var $Offset; //記錄偏移量
var $Total; //記錄總數
var $Result; //讀出的結果
var $TPages; //總頁數
var $CPages; //當前頁數
var $Sql;//將要執行的SQL語句
var $PageQuery; //分頁顯示要傳遞的引數
var $OutPut; //輸出內容
var $TextSize;//輸出文字的大小
var $TextColor;//輸出文字的顏色
var $InBdrColor;//輸出文字框的邊框顏色
var $InBgColor;//輸出文字框的背景顏色
/******建構函式*************
引數:查詢的SQL語句、最大行數、每次輸出的頁碼數、輸出的文字大小、文字顏色、輸入框邊框原色、輸入框背景原色
***************************/
function Page($SQL,$ML,$MP,$TS,$TC,$INBDRC,$INBGC){
$this->Sql=urldecode($SQL);
$this->Sql=StripSlashes($this->Sql);
$this->MaxLine=$ML;
$this->MaxPage=$MP;
$this->TextSize=$TS;
$this->TextColor=$TC;
$this->InBdrColor=$INBDRC;
$this->InBgColor=$INBGC;
}
//******設定傳遞引數************
function SetPagePara($key,$value){
$tmp[key]=$key; $tmp[value]=$value;
$this->PageQuery[]=$tmp;
}
/********讀取記錄,顯示輸出***************
引數:輸出頁碼的最小值、何種方式跳轉的標誌,資料記錄集的偏移量,當前檔名
此部分引數無須給定值,呼叫時只需延用以下變數名稱即可
****************************************/
function ShowList($startpage,$t,$OF,$PHP_SELF) {
if ($OF=="") $OF=0;
$this->Offset=$OF; //確定此次的偏移量
$querysql=$this->Sql;
//分情況確定輸出頁碼的起始值
if ($t==1) {$startpage=$startpage+$this->MaxPage;$this->Offset=($startpage-1)*$this->MaxLine;}
if ($t==2) {$startpage=$startpage-$this->MaxPage;if ($startpage<1) {$startpage=1;}$this->Offset=($startpage-1)*$this->MaxLine;}
if ($t==3) {$this->Offset=($startpage-1)*$this->MaxLine;}
if ($startpage<1 or $startpage=="") $startpage=1;
//計算此次查詢結果的記錄條數
$result=mysql_query($querysql);
$this->Total=mysql_num_rows($result);
//把當前頁的資料付給本類的對應屬性,便於呼叫時直接使用
$sqllimit=" LIMIT ".$this->Offset." , ".$this->MaxLine;
$this->Result=mysql_query($querysql.$sqllimit);
$this->Tpages=ceil($this->Total/$this->MaxLine);
$this->CPages=$this->Offset/$this->MaxLine+1;
$querysql=urlencode($this->Sql);
//確定輸出內容,並付給本類的相應屬性。
$this->OutPut="
$this->OutPut.="";
$k=count($this->PageQuery);
//生成需傳遞的引數字串或隱藏文字域
$strQuery="";
for($i=0;$i$strQuery.="&".$this->PageQuery[$i][key]."=".$this->PageQuery[$i][value];
$this->OutPut.="PageQuery[$i][key]."" value=".$this->PageQuery[$i][value].">";
}
if ($startpage>1) {$this->OutPut.="[Offset&querysql=$querysql&startpage=$startpage&t=2$strQuery style="color:$this->TextColor;text-decoration:none"><<]";}
for ($i=$startpage;$i<=$this->Tpages;$i++){$offset=($i-1)*$this->MaxLine; $this->OutPut.="[".$i."] ";
if ($i-$startpage>$this->MaxPage-2 and $i!=$this->Tpages) {$this->OutPut.="[Offset&querysql=$querysql&startpage=$startpage&t=1$strQuery style="color:$this->TextColor;text-decoration:none">>>]";break;}}
$this->OutPut.="";
}
//******end class
}
?>
/*********************************************
以下是應用詞類的一段示例
***********************************************/
//包含所需的標頭檔案,開啟資料庫
include("include/ini_var.inc");
include("include/_.inc");
include("page.inc");
if ($querysql=="") $querysql=urlencode("select * from class_subject_tea where Subject_id='0'");//只需改變urlencode內的字串即可
$pclass=new Page($querysql,5,8,"10pt","blue","black","#aaaaaa");//建立
$pclass->SetPagePara("para","paravalue");//設定需傳遞的引數,如有多個可多呼叫幾次
$pclass->ShowList($startpage,$t,$offset,$PHP_SELF);//生成輸出內容,並付給相應屬性
echo $pclass->OutPut;//輸出上面生成的內容
//輸出當前頁的資料
while($date=mysql_fetch_row($pclass->Result)){
echo "$date[1] ¦ $date[2] ¦ $date[3]
";
}
?>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-998551/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php分頁顯示PHP
- 利用MySQL的一個特性實現MySQL查詢結果的分頁顯示(轉)MySql
- 使用PagedDataSource類實現DataList和Repeater控制元件的分頁顯示 (轉)控制元件
- XML建立可排序、分頁的資料顯示頁面(轉)XML排序
- 用javabean來實現MySQL的分頁顯示(轉)JavaBeanMySql
- 一個內容分頁、排序、顯示等功能的專案排序
- php分頁類PHP
- Mybatis分頁外掛只顯示第一頁的問題MyBatis
- 用JAVASCIRPT寫的一個動態顯示日期的函式! (轉)Java函式
- PHP中物件導向的分頁類PHP物件
- javascript顯示一個時鐘JavaScript
- php 分頁 分頁類 簡單實用PHP
- 如何寫一個簡單的分頁元件(原理)元件
- 一個實用的ASP分頁函式,解決你重複寫分頁程式碼的煩惱 (轉)函式
- PHP分頁---轉載PHP
- PHP+MYSQL 條件篩選後分頁顯示資料PHPMySql
- 【分類不顯示】後臺設定了分類,前臺怎麼不顯示?
- [提問交流]前端的分類如何控制顯示前端
- 【菜鳥學Java】3:封裝一個分頁類PageBeanJava封裝Bean
- C# GridView 分頁顯示C#View
- mysql讀寫分離(PHP類)MySqlPHP
- 基於VB6+ADO+ListView製作的一個資料庫分頁顯示程式(完整原程式) (轉)View資料庫
- 這個顯示器總算能完整顯示我的Java類了Java
- PHP物件導向(OOP)—-分頁類PHP物件OOP
- SAP UI5 列表控制元件分頁顯示資料時,如何自定義分頁大小UI控制元件
- 修改Windows工作列的時間顯示(轉)Windows
- SpringMVC分頁顯示效果與配置不匹配的原因SpringMVC
- vue的一個分頁元件Vue元件
- 如何在顯示一個友好頁面的同時又進行其他處理?
- php陣列的分類有哪幾個PHP陣列
- unity 分數的顯示Unity
- 利用js寫一個分時問候JS
- 高手,請教一個JSP頁面查詢顯示的問題JS
- MongoDB之資料查詢(分頁顯示)MongoDB
- ListView分頁顯示 上拉載入更多View
- java web實現分頁顯示資料JavaWeb
- 利用ASP實現Oracle資料記錄的分頁顯示Oracle
- 個性化的分頁實現 (轉)