ホームページ >バックエンド開発 >PHPチュートリアル >PHP ページネーション クラス コード_PHP チュートリアル

PHP ページネーション クラス コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:51:49947ブラウズ

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 ページングが実行されます。

この記事は Wang Yelou の個人ブログのオリジナルです。転載する場合は、出典を明記してください: Wang Yelou の個人ブログ www.ly89.cn

www.bkjia.com本当http://www.bkjia.com/PHPjc/1011352.html技術記事 PHP ページング クラスのコード 今日は、PHP ページングのコードの一部を紹介します。 // ページング クラスを作成します。 class Page { private $_all_num // データの総数 private $_page_size;ページ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。