ホームページ >バックエンド開発 >PHPチュートリアル >PHP ページネーション クラス コード_PHP チュートリアル
//ページングクラスを作成する
クラスページ{
プライベート $_all_num;
private $_page_size; // 1 ページに複数のデータを表示します
プライベート $_ページ;
プライベート $_all_page;
プライベート $_url;
プライベート $_limit;
プライベート $_sign;
//インターセプター
パブリック関数 __get($_key) {
return $this->$_key;
}
パブリック関数 __construct($_all_num,$_page_size) {
$this->_all_num = $_all_num;
$this->_page_size = $_page_size;
$this->_all_page = ceil($this->_all_num / $this->_page_size);
$this->_page = $this->setPage();
$this->_url = $this->setUrl();
$this->_limit = 'LIMIT '.($this->_page * $this->_page_size - $this->_page_size).','.$this->_page_size;
}
// 現在のページ番号を取得します
プライベート関数 setPage() {
If (!empty($_GET['page']) && $_GET['page'] > 0) {
If ($_GET['page'] <= $this->_all_page) {
return ceil($_GET['page']);
} else {
$this->_all_page;
に戻る
}
} else {
return 1;
}
}
//アドレスを取得します
プライベート関数 setUrl() {
$_url = $_SERVER['REQUEST_URI']; if (!empty($_url)) {
$_par_url = parse_url($_url);
if (isset($_par_url['query'])) {
parse_str($_par_url['クエリ'],$_arr);
if (isset($_arr['page'])) {
unset($_arr['page']);
}
if (!empty($_arr)) {
$_http = http_build_query($_arr);
$_end_url = $_par_url['パス'] 。 「?」 。 $_http;
$this->_sign = '&';
} その他 {
$_end_url = $_par_url['パス'];
$this->_sign = '?';
}
} その他 {
$_end_url = $_par_url['パス'];
$this->_sign = '?';
}
}
$_end_url を返す;
}
//显示分页
パブリック関数 numPage() {
$_num = '';
// 冒頭
for ($i=1; $i_page; $i++) {
if ($i
$_num .= "".$i."";
}
//自分
$_num .= "".$this->_page."";
//裏面
for ($i=$this->_page+1; $i_all_page; $i++) {
if ($i>$this->_all_page) 続行;
$_num .= "".$i."";
}
$_num を返します;
}
}
?>
大家は、上の一段コードをテキストブックエディタで見られる会議の一点サービスに変換することができます!
1. ページング クラスを作成します: class Page
;
2. 表示する必要のあるデータの数を取得し、Page クラスに記録します。ここでのデータの数は、詳細は説明しません。次に、各ページに表示するデータの数を設定します。
3. 現在のページアドレスを取得します!
このコードの一般的な意味は、アドレスの後に ? が続く場合、ページングをクリックするときにサフィックスがない場合、またはアドレスの後に ?page= のみがある場合には &page= を使用し、ページングをクリックする場合には ?page=
を使用することです。
4. 現在のページ番号を取得します
ここでのページ番号は整数である必要があるため、ceil 関数を使用して、ユーザーによるアドレスの悪意のある変更に注意してください。
4. ページング要素を作成します。ここでは単純なデジタル ページングを作成するだけですが、ユーザー エクスペリエンスを向上させるために、自分で拡張することもできます。
5. データベース内のクエリの数を LIMIT に設定します。たとえば、現在 10 個のデータがあり、各ページに 5 個のデータを表示するように設定すると、
ユーザーが最初のページをクリックすると、LIMIT 0,5
ユーザーが 2 ページ目をクリックすると、5,5 が制限されます
6. このコードの呼び出し:
$_page = 新しいページ(10,5);
$_page->page();
上記の 10 はデータの総数で、5 は各ページに表示するデータの数です。$_page->page() はページのページングを行うだけです。これを Page クラスに追加すると、$_limit 呼び出しがデータベース クエリ ステートメントに追加され、基本的な PHP ページングが実行されます。