ホームページ  >  記事  >  バックエンド開発  >  phpページングクラス2

phpページングクラス2

WBOY
WBOYオリジナル
2016-06-23 14:30:07822ブラウズ



class SubPages{

private $nums; // エントリの総数

private $current_page ; // 現在選択されているページ

private $sub_pages ; // 毎回表示されるページ数

private $page_array = array (); // ページングの構築に使用される配列

private $subPage_link ; // 各ページのリンク

private $subPage_type ; // ページングの表示タイプ

/*

__construct は、実行に使用されます。クラスの作成時に自動的に表示されます。

@$each_disNums ページごとに表示されるエントリの数

@nums エントリの総数

@current_num 現在選択されているページ

@sub_pages 毎回表示されるページの数

@subPage_link page

@subPage_type ページの種類を表示します


@subPage_type=1 の場合、通常のページングモード

] [前のページ] [次のページ] [最後のページ]

@subPage_type=2 の場合、古典的なページング スタイル

例: 現在のページ 1/453 [ホーム] [前のページ] 1 2 3 4 5 6 7 8 9 10 [次のページ] [最後のページ]

*/

function __construct( $each_disNums , $nums , $current_page , $sub_pages , $subPage_link , $subPage_type ){

$this -> each_disNums = intval (

} else { $this -> ; Current_page = intval ($ Current_page); $ Nums / $ EACH_DISNUMS );

$ subpage_link = $ subpage_link



;
/*

__destruct デストラクタークラスが使用されなくなったときに呼び出されます。この関数はリソースを解放するために使用されます。

*/

function __destruct(){

unset ( $nums );

unset ( $sub_pages );
設定解除 ( $pageNums ) ;

unset ( $page_array );

unset ( $subPage_type );


/*

関数内の構造で使用されます。 。表示するページングの種類を決定するために使用されます

*/

function show_SubPages( $subPage_type ){

if ( $subPage_type == 1 ){

$this -> subPageCss1();

} elseif ( $ subPage_type == 2 ){

$this -> subPageCss2();

}



/*

ページネーションを作成するために使用される関数。

*/

function initArray(){

for ( $i = 0 ; $i < $this -> sub_pages; $i ++ ){

$this -> page_array[ $i ] = $i ;

}

$this ->

}



/*

   construct_num_Page该関数数使用する構築表示の条目

即使用:[1][2][3][4][5][6][7][8][9][10]

*/

関数construct_num_Page(){

if ( $this -> pageNums < $this -> sub_pages){

$current_array = array ();

for ( $i = 0 ; $i < $this -> pageNums; $i ++ ){

$current_array [ $i ] = $i + 1 ;

}

} else {

$current_array = $this -> initArray();

if ( $this -> current_page <= 3 ){ // -2左边第2个突出

for ( $i = 0 ; $i < count ( $current_array ); $i ++ ){

$current_array [ $i ] = $i + 1 ; {

for ( $i = 0 ; $i < count ( $current_array ); $i ++ ){

$current_array [ $i ] = ( $this -> pageNums) - ( $this -> sub_pages) + 1 + $i ;

}

} else {

for ( $i = 0 ; $i
$current_array [ $i ] = $this ->現在のページ - 3 + $i ;  // -2左边第2突出

}

}

}



return $current_array ;

}


/*

構築普通モードの分页

共4523条记录,每页显示10条,当前第1/453页 [首] [上页] [下页] [尾页]

*/

関数 subPageCss1(){

$subPageCss1Str = "" ;

$subPageCss1Str .= " 共 " . $this ->数値。 " 条记录、 " ;

$subPageCss1Str .= " 每页显示 " . $this -> each_disNums 。 「条、」 ;

$subPageCss1Str .= "現在前第 " . $this ->現在のページ 。 「/」。 $this -> pageNums 。 「 页 」 ;

if ( $this -> current_page > 1 ){

$firstPageUrl = $this -> subPage_link 。 " 1 " ;

$prewPageUrl = $this -> subPage_link 。 ( $this -> current_page - 1 );

$subPageCss1Str .= " [首页] " ;

$subPageCss1Str .= " [上一页] " ;

} else {

$subPageCss1Str .= " [首页] " ;

$subPageCss1Str .= " [上一页] " ;

}



if ( $this -> current_page < $this -> pageNums){

$lastPageUrl = $this -> subPage_link 。 $this ->ページ番号;

$nextPageUrl = $this -> subPage_link 。 ( $this -> current_page + 1 );

$subPageCss1Str .= " [下一页] " ;

$subPageCss1Str .= " [尾页] " ;

} else {

$subPageCss1Str .= " [下一页] " ;

$subPageCss1Str .= " [尾页] " ;

}



echo $subPageCss1Str ;



}



/*

クラシックモードページングの構築

現在のページ 1/453 [ホームページ] [前のページ] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]

*/

function subPageCss2(){

$subPageCss2Str = "" ;

$subPageCss2Str .= "現在前" . / " . $ this -> pageNums ;

$prewPageUrl = $this -> current_page - 1 ); ;ホームページ] " ;

$subPageCss2Str .= " [前のページ] " ;

} else {

$subPageCss2Str .= " [ Home] " ;

$subPageCss2 Str. = "[前のページ] " ;

}



$a = $this ->construct_num_Page();

for ( $i = 0 ; $i < count ( $a ); $i + + ){

$s = $a [ $i ];

if ( $s == $this -> current_page ){

$subPageCss2Str .= " [< Span Style = 'Color:red; font -weight:bold;'&gt; "&lt;/gt;]"; s . " " ;

}

}



if ( $this -> current_page < $this -> pageNums){
$lastPageUrl = $this -> . $this ->
$nextPageUrl = $this -> $subPage Css2Str. ;次のページ] " ;

$subPageCss2Str .= " [最後のページ
} else {

" PageCss2Str ;
}

}

?> エントリの総数

$nums = 1024;

// 毎回表示されるページ数

$sub_pages = 10

// 現在のページを取得します

$pageCurrent = $ _GET [ " p " ];

// if(!$pageCurrent) $pageCurrent=1;


$subPages = new SubPages( $page_size , $nums , $sub_pages , " a.php?p= " , 2 );

?>


if ( empty ( $_GET [ " p " ]))
{
$pageCurrent2 = 0 ; // 制限は 0 から始まります
$page_size2 = 3 ; // 2 で終了、ページごとに合計 3 つのデータ
}
else
{ $pageCurrent2 = $_GET [ " p " ] * 3 - 3 ; // で最初のデータのパラメータを計算します。各ページの先頭
$page_size2 = $pageCurren2 + 3 ; // 各ページには 3 つのデータが表示されます
}
$sql = " select * from art " ;$sql = sprintf ( " %s 制限 %d, %d " , $sql , $pageCurrent2 , $page_size2 );
$ni = new Mysql ( " 127.0.0.1 " , " root " , " 123 " , " school " );

エコー "
" ;
$sql2 = " アートから * を選択 " ;
$nums = $ni ->数値 ( $sql2 );
// echo "QQ".$nums;




$result = $ni ->クエリ( $sql );
while ( $rows = $ni -> fetch_array( $result ))
{
echo "
" ;
echo $rows [ ' title ' ];
エコー "
" ;


}
$page_size = 3 ;
$sub_pages = 10 ;
$pageCurrent = $_GET [ " p " ];
$subPages = new SubPages( $page_size , $nums , $pageCurrent , $sub_pages , " a.php?p= " , 2 );


?>