-
Class PAGE { - //クラスの開始
- /*************************************************** * ****
- * $total 総レコード数
- * $pageNum 各ページに表示される項目数
- * $url = '' link
- * $page->StartPage (カテゴリの統計情報、文字カテゴリ/番号のページングを表示) 、ジャンプ) ;
- * $page->StartPage(true/false, true/false, true/false);
- * サイト http://bbs.it-home.org
- ********* **********************************************/
- private $total; //レコードの総数
- private $pageNum; / /ページごとの表示番号
- private $pages; //ページの総数
- private $url; //ページURL
- private $Aque; //URLパラメータ
- */
- public function PAGE($total, $pageNum, $url='?'){
- $this->total = $total; //レコードの総数
- $this->pageNum = $pageNum; //ページごとの表示番号
- $this->url = $this->StrSift($url); //$url の値が正当かどうかを判断します。
- $this->Aque = $_GET; /ページによって元々渡されたパラメータ .
- $this->page = $this->StrSift($_GET['page']); //現在のページの GET (グローバル変数) モードのパラメータ、現在のページ番号。 $this->page = is_numeric( $this->page) ? $this->page : 1; // 現在のページ番号が数値でない場合は 1 に設定します
- $this->pages = ceil($total/$pageNum); //総ページ数
- if($this->pagepage = 1; //ページ番号が1未満の場合は設定1.
- //if($this->page>$this->pages) $this->page = $this->pages; //ページ番号が最大ページ番号より大きい場合、最大ページ番号に設定します。
- }
- /********************
- * ページング方法
- *******************/
- function StartPage($str, $view=true, $jump=true){
- if($view==true) $PageStr 。 = $this->GetCount(); //ページング統計
- if ($str=='str') $PageStr .= $this->GetPageStr(); //文字ページング形式を選択
- else $PageStr . = $this->GetPageNum(); //数値ページング形式を選択します
- if($jump==true) $PageStr .= $this->JumpSelect() //Jump
- return $PageStr;
- }< ;/p>
/********************************************
- * 統計を表示します: 5。合計レコード数 ページ: 2/3
- **************************************** * ***********/
- function GetCount(){
- $CountStr = "Total" $this->total ."レコード ページ:".$this->page."/". $this->pages." ";
- return $CountStr;
- }
/************************************************
- * ページネーション形式 1 : 最初のページ 前のページ 次のページ 最後のページ
- ************************************ **** ********/
- function GetPageStr(){
- $url = $ this->url; // URL を取得します
- // URL パラメータを処理します。配列のキーは URL 変数で、配列の値はURL 変数の値。
- foreach($this->Aque as $key => $val){
- switch($key){
- case "page":
- $Next = $val + 1;
- $ Prev = $val - 1;
- ブレーク;
- デフォルト:
- $Sque .= "&$key =".$this->StrSift($val);
- }
- }
- if($Next==0) $ Next=2;
- //ホームページの前のページ
- switch($this->page){
- case $this->page<=1:
- $pagestr .= "ホームページ ";
- $pagestr . = "前のページ ";
- ブレーク;
- デフォルト:
- $pagestr . = "ホームページ   ;";
- $pagestr .= "前のページ ";
- }
- //次のページ最後のページ
- switch($this->page){
- case $this->page>=$this->pages:
- $pagestr .= "次のページ ";
- $pagestr .= "最後のページ ";
- ブレーク;
- デフォルト:
- $pagestr .= "次のページ ";
- $pagestr .= "< a href='".$url."?page=$this->pages$Sque'>最後のページ ";
- }
- / /ページング文字列を返します。
- return $ pagestr;
- }
/*************************************************** * *******
- * ページング形式は次のとおりです: 合計 4307 レコード ページ: 1/72 1 2 3 4 5 6 7 8 9 10
- ************ ****** *******************************************/
- function GetPageNum(){
- $url = $this->url;
- //URL パラメータを処理します。配列のキーはURL 変数、配列の値は URL 変数の値です。
- foreach($this->Aque as $key => $val){
- switch($key){
- case $key!="page ":
- $Sque . = "&$key=".$this->StrSift($val);
- }
- }
- switch($this->pages){
- // 総ページ数が大きくなります12 ページより:
- case $this-> ;pages>12:
- // ページ番号の前: < <<
- switch($this->page){
- case $this->page>1 :
- $pagestr .= "< ";
- $pagestr .= "<< ";
- break;
- default:
- $pagestr .= "< ";
- $pagestr . = "<< ";
- }
- //ページング番号: 1 2 3 4 5 6 左側に 6 つのページング リンクがあり、右側に 6 つのページング リンクがあります。現在のページ番号の
- for($i=$this->page -6; $i<=$this->page+6; $i++){
- if($i>$this->pages ) Break;
- if($i==$this->page) $ pagestr .= $i." ";
- elseif($i>=1) $pagestr .= "$i< /a> ";
- }
- // ページ番号の後: > >>
- switch($this->page) {
- case $this->page<$this->pages:
- $pagestr .= ">> ";
- $pagestr .= " > ";
- ブレーク;
- デフォルト:
- $pagestr .= "> ";
- $pagestr .= ">> ";
- }
- ブレーク;
- デフォルト:
- //総ページ数は 12 ページ未満です:
- for($i=1 ; $i<=$this->pages; $i++){
- switch($i){
- case $i= =$this->page:
- $pagestr .= $i." ";
- Break;
- デフォルト:
- $pagestr .= "$i ";
- }
- }
- }
- //ページング文字列を返します。
- return $pagestr;
- }
-
- /**************************
- * BEGIN
- ****************** ジャンプページを定義します。 **** ******/
- function JumpSelect( ){
- $url = $this->url;
- // URL パラメーターを処理します: 配列のキーは URL 変数であり、配列の値は URL 変数の値です。
- foreach($this ->Aque as $key => $val){
- if($key != "ページ") $Sque .= "&$key=".$this->StrSift($val);
- }
- $SelectStr = "nn";
- // ページング文字列を返します。
- return $SelectStr;
- }
/***************************************
- * 特殊文字をフィルターします。
- ******* ***** ************************/
- private function StrSift($str){
- $str = str_replace(""","",$str);
- $str = str_replace( "'","",$str);
- $str = str_replace("[url= file://%22,%22%22,$str/]\","",$str[/url]) ;
- $str = str_replace("/","",$str);
- $str = str_replace(":","",$str);
- $str = str_replace("?","",$str ); //削除すると「??」になります
- $str = str_replace("> ;","",$str);
- $str = str_replace("<","",$str);
- $ str = str_replace("%","",$str);
- $str = str_replace ("*","",$str);
- $str = str_replace("&","",$str);
- $str = str_replace(".","",$str);
- return $str ;
- }
//クラス終了
- }
- ?>
-
コードをコピー
興味のある方は、次の記事も参照してください。
優れたPHPページングクラスコード
実用的な php ページング クラス
ページネーションスタイルシート:
-
- /*ドロップダウン メニューまたはテキスト入力ボックスのスタイル*/
- #JumpSelect{
- background:#159bd0;
- border:1px Solid #ffff66;
- カラー:#ffff66;
- 幅:37px;
- フォントサイズ:11px;
- パディング:0 0 0 0;
- マージン:0 0 0 0;
- スクロールバー-フェイス-カラー: #d0dff7; : # d0dff7;
- スクロールバー-シャドウカラー: #FFFFFF;
- スクロールバー-トラックカラー: #ffffff; : # d0dff7;
- base-color: #ededed;
- スクロールバーの矢印の色: #000;
- スクロールバーのハイライトの色: #fafafa;
- スクロールバーの影の色: #fafafa;
- スクロールバーのトラックの色: # ededed;
- スクロールバー-フェイスカラー: #fafafa;
- スクロールバー-ダークシャドウ-カラー: #ededed;
- スクロールバー-3dlight-color: #ededed;
- }
-
-
- コードをコピー
-
|