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 |
関連記事
-
フィギュアスケートのジャンプの見分け方
奥さんがはまっているフィギュアスケート、観戦中にジャンプの種類を判別でき
-
PukiWiki for WordPress 試してみた
PukiWiki for WordPress を試してみる。 -これで -いいの -か
-
塔の上のラプンツェルと3D
この前、新宿ピカデリーで塔の上のラプンツェルをみてきた。 小学一年生のの娘がPCのブラウザゲームには
-
よく引用されるのでチャイナ・シンドロームのDVDを買ってみた
東北大震災後、よく引用されるので、チャイナ・シンドロームのDVDを買ってみた。 福島第一原発の事件が
-
iPhone SDKでユーザデータをローカルに保存したい
一応5日より次のiPhoneアプリの開発を始めた。 前回のアプリはアプリの設定をちょこっとローカルに
-
iPhone アプリアイコン設定
AppStore でアプリを売る一連の流れを知るために作っているアプリが大体できてきたので、ついにア
-
MHP3 難読漢字モンスターリスト
最近 炎戈竜の爪 (えんかりゅうのつめ)を探しているが、そもそもモンスターの漢字をどう読むのか分から
-
View-Based Application に UINavigationController を追加する方法その2
今回はSkitchを使ってキャプチャ画像を貼ってみた。キャプチャだとコードがコピペできないが...
-
達人出版会のEPUBファイルをソニタブPに転送してみる
昨日買った アプリケーションをつくる英語 - 達人出版会 を Kindleに転送できたので、最近買っ
Comment
CodeIgniter 2.0以降は普通にクエリ文字列でキーワードを渡すのがいいように思います。
と思いましたが、標準のページネーションクラスでは無理ですね…
標準のページネーションクラスで
http://d.hatena.ne.jp/Kenji_s/20110420/1303312489
でききました。
@Kenji
おお、base_url に入れて渡せるのですね。
サンプルコードのおかげでわかりやすいです。
ありがとうございました!