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 |
関連記事
-
View-Based Application に UINavigationController を追加する方法その2
今回はSkitchを使ってキャプチャ画像を貼ってみた。キャプチャだとコードがコピペできないが...
-
PukiWiki for WordPress 試してみた
PukiWiki for WordPress を試してみる。 -これで -いいの -か
-
4月1日よりGoogle検索アルゴリズムの変更? によりサイト訪問者数が激減
気づいたら4月1日からのブログの訪問者数が激減していた。 Stats を確認してみると、これまで
-
ゴールデンスランバー 感想
ロンドン行の機内で鑑賞。 面白いとは聞いていたが予想以上だった。 伊坂さんがすごいのか監督さんがすご
-
ムジカノーヴァ2012年7月号でiPadアプリ「おんぷちゃん」が紹介されました
昨日2012年6月20日発売のムジカノーヴァ2012年7月号で、深見友紀子先生にiPadアプリ「おん
-
US出張時の時差ぼけを防ぐ方法
(2016/10/02 作成)久しぶりにUS出張に行ってきた。いつもUS出張時には時差ぼけによる強烈
-
MHP3 難読漢字モンスターリスト
最近 炎戈竜の爪 (えんかりゅうのつめ)を探しているが、そもそもモンスターの漢字をどう読むのか分から
-
iPhone アプリアイコン設定
AppStore でアプリを売る一連の流れを知るために作っているアプリが大体できてきたので、ついにア
-
Google Search Console の利用を開始してみた
YouTube DATA API (iOS Quickstart | YouTube Data
Comment
CodeIgniter 2.0以降は普通にクエリ文字列でキーワードを渡すのがいいように思います。
と思いましたが、標準のページネーションクラスでは無理ですね…
標準のページネーションクラスで
http://d.hatena.ne.jp/Kenji_s/20110420/1303312489
でききました。
@Kenji
おお、base_url に入れて渡せるのですね。
サンプルコードのおかげでわかりやすいです。
ありがとうございました!