1
2
/**
3
* ファイル名: ext_page.class.php
4
* @package: phpbean
5
* @author :feifengxlq
6
* @copyright :Copyright 2006 feifengxlq
7
* @license:バージョン 2.0
8
* @create:2006-5-31
9
* @modify:2006-6-1
10
* @modify:feifengxlq 2006-11-4
11
* 説明: 超強力なページング クラス、4 つのページング モード、デフォルトのページング スタイルは Baidu や Google に似ています。
12
* 2.0 の追加機能: カスタム スタイルのサポート、カスタム スタイルのサポート、PHP4 と PHP5 の両方のサポート、
13 * 詳細については、[url=http://www.phpobject. net/blog/read.php]http://www.phpobject.net/blog/read.php[/url]?
14 * 例:
15 * モード 4 A ページングモード:
16 require_once('../libs/classes/page.class.php');
17 $page=new page(array('total'=>1000 ,' perpage'=>20));
18 echo 'mode:1
'.$page->show();
19 echo '
mode:2
'.$ page- >show(2);
20 echo '
mode:3
'.$page->show(3);
21 echo '
mode:4
'.$page- >show(4);
22 AJAX をオンにします:
23 $ajaxpage=new page(array('total'=>1000,'perpage'=>20,'ajax' = >'ajax_page','page_name'=>'test'));
24 echo 'mode:1
'.$ajaxpage->show();
25 ページネーションの定義から継承表示モード:
26 デモ: http://www.phpobject.net/blog
27
*/
28
クラスページ
29{
30
/**
31 * config ,public
32
PB_page"
;//
page URL ページを制御するために使用されるタグ。たとえば、xxx.php?PB_page=2 の PB_page '
;/ /
次のページ 35 var $pre_page= ''
;//
前のページ 36 var $first_page='最初 '
; //
ホームページ 37 var$last_page= '最後'
;//
最後のページ 38 var $pre_bar=' '
;//
前のページングバー 39 var$ next_bar='>>'
; //
次のページバー 40 var$format_left= '['
;41
var $is_ajax= false;//
AJAX ページング モードをサポートするかどうか43
44 /** 45 * プライベート
46 *
47
$pagebarnum=10
;//
レコードストリップの数を制御します。49
ページ数 50var$ajax_action_name =''
;//AJAX アクションname
51 var $nowindex= 1
;//現在のページ52
var$url= "";// URLアドレスヘッダー
53
var $offset= 0; 54
55
/* * 56 * コンストラクター コンストラクター
57 *
58 * @param array $array['total'] ,$array['perpage'],$ array['nowindex'],$array['url'],$array['ajax']
59
*/
60
関数 ページ( $array
)
61
{ 62
if(is_array($array)){
63
if(!array_key_exists( '合計',$array))$this->エラー(__FUNCTION__,') 合計のパラメータが必要です」 );
64
$total=intval($array['total ']);
65
$perpage=(array_key_exists('perpage',$array ))?intval($ array['perpage']):10;
66
$nowindex =(array_key_exists( 'nowindex',$array))?intval($array['nowindex ']) :'';
67
$url=(array_key_exists('url',) $配列))?$配列 ['url']:'';
68
}else{
69
$total =$配列;
70
$perpage=10;
71
$nowindex='';
72
$url='';
73
}
74
if((!is_int($total))||() $合計0 ))$this->error(__FUNCTION__,$total.'は正の整数ではありません!' );
75
if((!is_int($perpage))||($perpage0)) $this->error(__FUNCTION__,$perpage.'は正の整数ではありません!');
76
if(!空($array['page_name']))$this-> セット(' page_name',$array['page_name']);//設置ページ名
77
$this->_set_nowindex($nowindex);//设置当前页
78
$this->_set_url( $url);//地上設置链址
79
$this->合計ページ=ceil($合計/$ );
80
$this->オフセット=($this->nowindex-1)* $this->ページごと;
81
if(!空($array['ajax ']))$this ->open_ajax($array['ajax']);//AJAXモードを開く
82
}
83
/**
84
* 変更がこのクラスに属さない場合、例外がスローされます
。 85
*
86
* @param string $var
87
*/
89
関数
set($var)
,$value) 90 {
91
if
(in_array
( $var ,get_object_vars( $this))) 92 $this
->$var
=$value; 93 else
{ 94
$this
->error(
__FUNCTION__, $var."はPに属しませんB_ページ!"); 95 }
96
97 }
98
/**
99
* 逆AJAXモードをオンにする
100
*
101
* @param string $action デフォルトの ajaxアクションをトリガーします。
102
*/
103
function open_ajax($action)
104
{
105
$this->is_ajax=true;
106
$this->ajax_action_name =$アクション;
107
}
108
/**
109
* 「次のページ」を表示するコードを取得します
110
*
111
* @param string $style
112
* @return string
113
next_page($style
=' '
) 115 {116
$this->
合計ページ){117
戻る $this-> _get_link($this-> _get_url(
$this->nowindex
+1),$this->next_page, $スタイル); 118 }119 return ''
.$style .
'"> '
.$this ->次のページ.'';120 }
121
122
/**
123
* 「前のページ」を表示するコードを取得します
124
*
125
* @param string $style
126
* @return string
127
*/
1 28
関数 pre_page( $ style='')
129
{
130
if($this -> nowindex>1 ){
131
戻る $this->_get_link($this->_get_url ($this-> nowindex -1),$this->pre_page,$style);
132
}
133
return ''.$style.' ">'. $this->pre_page.'';
134
}
135
136
/* **
140
*/
141
function
first_page(
$style=)
'')
142 {
143 if( $this->
nowindex==
1
){144
'. $style.'">
'.$this
->first_page.' ;145 }
146
戻る $this->_get_link($this->_get_url(1 )、$this ->first_page,$style);
147}
148
149
/**
150 * 「最後のページ」を表示するコードを取得します
151 *
152 * @return string
153
*/
154
functionlast_page($style='')
155 {
156
if($this - >nowindex==$this->合計ページ){
157 '. $style . '">'.$this->last_page.'' ;15 8 }
159
戻る $this->_get_link($this->_get_url( $this->合計ページ) 、$this->last_page、$style);
160
}
161
162
機能 nowbar($style='',$nowindex_style='')
163
{
164
$plus =ceil($this->pagebarnum/2);
165
if ($これ-> ページバーナム-$plus+$this->nowindex>$this->合計ページ)$plus =( $this->pagebarnum-$this->合計ページ+$this->nowindex);
166

2

3

4

5


7

8

9

10

11

12

13 * 詳細については、[url=http://www.phpobject. net/blog/read.php]http://www.phpobject.net/blog/read.php[/url]?

14 * 例:

15 * モード 4 A ページングモード:

16 require_once('../libs/classes/page.class.php');

17 $page=new page(array('total'=>1000 ,' perpage'=>20));

18 echo 'mode:1

19 echo '

'.$ page- >show(2);
20 echo '

'.$page->show(3);
21 echo '

'.$page- >show(4);
22 AJAX をオンにします:

23 $ajaxpage=new page(array('total'=>1000,'perpage'=>20,'ajax' = >'ajax_page','page_name'=>'test'));

24 echo 'mode:1

25 ページネーションの定義から継承表示モード:

26 デモ: http://www.phpobject.net/blog

27

28

29{

30

31 * config ,public


;//

;/ /

;//

; //

;//

;//

; //

;41

AJAX ページング モードをサポートするかどうか43

46 *


;//


;//AJAX アクションname

;//現在のページ52

53

55

57 *

58 * @param array $array['total'] ,$array['perpage'],$ array['nowindex'],$array['url'],$array['ajax']

*/

60

関数 ページ( $array


61


63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

。 85

86

87

89

set($var)

91

(in_array

->$var

{ 94

->error(

96

97 }
98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

=' '

$this->

合計ページ){117

$this->nowindex

.$style .

'"> '

121

122

123

124

125

126

127

1 28

129

130

131

132

133

134

135

136

140

141

function

$style=)

142 {

nowindex==

){144

'.$this

146

147}

148

149

150 * 「最後のページ」を表示するコードを取得します

151 *

152 * @return string

153

154

155 {

156

157 '. $style . '">'.$this->last_page.'' ;15 8 }
159

160

161

162

163

164

165

166

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
4週間前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
4週間前By尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
2週間前ByDDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
4週間前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:Myriseのすべてのロックを解除する方法
1 か月前By尊渡假赌尊渡假赌尊渡假赌

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
