CodeIgniterのPaginationではまる
公開日:
:
未分類
CodeIgniter徹底入門とユーザガイドを読みながら試行錯誤しているが、Paginationではまっていた。
Paginationクラスで自動的に複数のページへのリンクが作られるのはよいのだが、元々のページからどうやって次のページへとデータを渡せばよいのかがわからなかった。
実は同じように苦労している人は多いようだ。
- Marius Boitor’s devessence » CodeIgniter search and pagination, terms and uri segments
- Marius Boitor’s devessence » CodeIgniter search and pagination, terms and uri segments (session)
- CodeIgniter(に限らず):検索結果とページングの嫌な関係: CodeIgniterで発火する?
まずはCodeIgniterのPaginationクラスの使い方を簡単にまとめてみる。
$this->load->library('pagination'); $config['base_url'] = 'http://example.com/index.php/test/page/'; $config['total_rows'] = '200'; $config['per_page'] = '20'; $this->pagination->initialize($config); echo $this->pagination->create_links();
のような設定でPaginationクラスを使うと、2ページ目、3ページ目は
http://example.com/index.php/test/page/20 http://example.com/index.php/test/page/40
のようにして呼ばれるはず。
この20や40の位置は、
$config['uri_segment'] = 3;
のようにして指定できる。上記の例の場合はuri_segmentの値は3だ。
ユーザガイドを読むと、上記の20や40はページ番号のように書かれているが、実際はオフセット値が渡ってくる。自分はこれではまっていた。
それと、’uri_segment’ はうまく動作していないように見える。謎だ。
上記のように、Paginationにより自動生成されたリンクをクリックして呼び出されるページにはデフォルトではオフセット値しか渡すことができない。
このため、もっといろいろデータを渡したい場合には、CodeIgniter(に限らず):検索結果とページングの嫌な関係: CodeIgniterで発火する?
にあるようにセッションを使わないといけないと思われる。
このあたり、常識なのかも知れないが自分のような初心者にはわかりづらい。CodeIgniter本にはひとこと書いておいて欲しかった。
CodeIgniterのセッションクラスの使い方まとめ – devel-log.tar.gz
CodeIgniter徹底入門 | |
河合 勝彦 鈴木 憲治 安藤 建一
翔泳社 2008-06-10 |
関連記事
-
[CD] BOOM BOOM SATELLITES “TO THE LOVELESS”
最近はすっかりCDを買わなくなっているが、久しぶりに購入。19972007に続いて2枚目。
-
あまちゃんオープニングテーマ、暦の上ではディセンバーなどをiTunesで買う
奥さんがNHKのあまちゃんにはまっていて、曲を買いたいというので調べていたら意外に情報がなかったので
-
フィギュアスケートのジャンプの見分け方
奥さんがはまっているフィギュアスケート、観戦中にジャンプの種類を判別でき
-
PukiWiki for WordPress 試してみた
PukiWiki for WordPress を試してみる。 -これで -いいの -か
-
Google Search Console の利用を開始してみた
YouTube DATA API (iOS Quickstart | YouTube Data
-
いまさらながらGoogle Chrome導入
Google Chromeは出たばかりの頃に使って、確かに速いけれどもFirefoxで使っている便利
-
よく引用されるのでチャイナ・シンドロームのDVDを買ってみた
東北大震災後、よく引用されるので、チャイナ・シンドロームのDVDを買ってみた。 福島第一原発の事件が
-
ムジカノーヴァ2012年7月号でiPadアプリ「おんぷちゃん」が紹介されました
昨日2012年6月20日発売のムジカノーヴァ2012年7月号で、深見友紀子先生にiPadアプリ「おん
-
US出張時の時差ぼけを防ぐ方法
(2016/10/02 作成)久しぶりにUS出張に行ってきた。いつもUS出張時には時差ぼけによる強烈
Comment
CodeIgniter 2.0以降は普通にクエリ文字列でキーワードを渡すのがいいように思います。
と思いましたが、標準のページネーションクラスでは無理ですね…
標準のページネーションクラスで
http://d.hatena.ne.jp/Kenji_s/20110420/1303312489
でききました。
@Kenji
おお、base_url に入れて渡せるのですね。
サンプルコードのおかげでわかりやすいです。
ありがとうございました!