CodeIgniterのPaginationではまる

公開日: : 未分類

CodeIgniter徹底入門とユーザガイドを読みながら試行錯誤しているが、Paginationではまっていた。
Paginationクラスで自動的に複数のページへのリンクが作られるのはよいのだが、元々のページからどうやって次のページへとデータを渡せばよいのかがわからなかった。

実は同じように苦労している人は多いようだ。

まずは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徹底入門
CodeIgniter徹底入門 河合 勝彦 鈴木 憲治 安藤 建一

翔泳社 2008-06-10
売り上げランキング : 66699

Amazonで詳しく見る by G-Tools

関連記事

フィギュアスケートのジャンプの見分け方

  奥さんがはまっているフィギュアスケート、観戦中にジャンプの種類を判別でき

記事を読む

no image

よく引用されるのでチャイナ・シンドロームのDVDを買ってみた

東北大震災後、よく引用されるので、チャイナ・シンドロームのDVDを買ってみた。 福島第一原発の事件が

記事を読む

no image

Please, don’t – I’m not

tense - Please, don't - I'm not - English Language

記事を読む

no image

ゴールデンスランバー 感想

ロンドン行の機内で鑑賞。 面白いとは聞いていたが予想以上だった。 伊坂さんがすごいのか監督さんがすご

記事を読む

no image

4月1日よりGoogle検索アルゴリズムの変更? によりサイト訪問者数が激減

気づいたら4月1日からのブログの訪問者数が激減していた。 Stats を確認してみると、これまで

記事を読む

no image

iPhone アプリアイコン設定

AppStore でアプリを売る一連の流れを知るために作っているアプリが大体できてきたので、ついにア

記事を読む

no image

いまさらながらGoogle Chrome導入

Google Chromeは出たばかりの頃に使って、確かに速いけれどもFirefoxで使っている便利

記事を読む

no image

塔の上のラプンツェルと3D

この前、新宿ピカデリーで塔の上のラプンツェルをみてきた。 小学一年生のの娘がPCのブラウザゲームには

記事を読む

no image

virtual の本来の意味は「仮想」とはちょっと違う

昔単語を学習している時に virtually が出題されて、「仮想の」と訳したが実際は 事実上 であ

記事を読む

LogLocations 1.3.3 Release

恒例の、年末年始時間があるときの LogLocations のアップデート。久しぶりに起動したら、i

記事を読む

Comment

  1. Kenji より:

    CodeIgniter 2.0以降は普通にクエリ文字列でキーワードを渡すのがいいように思います。

  2. Kenji より:

    と思いましたが、標準のページネーションクラスでは無理ですね…

  3. Kenji より:

    標準のページネーションクラスで
    http://d.hatena.ne.jp/Kenji_s/20110420/1303312489
    でききました。

  4. admin より:

    @Kenji
    おお、base_url に入れて渡せるのですね。
    サンプルコードのおかげでわかりやすいです。
    ありがとうございました!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

LogLocations 1.4.0 写真表示対応

行動ログは取りたいが、何も操作したくない。という自分のようなずぼらな

Apple Watch用バッテリーロガーを公開しました

1年前に開発し、App StoreにSubmitしたものの Reje

Guideline 2.5.10 – Performance – Software Requirements で Reject

2019年3月27日以降、iPhone Xs Maxの画面サイズ6.

XcodeにiPhoneとwatchが表示されない

2019年はGWに10連休があるということで、今日は3日目。毎日少し

Xcode のインストール進捗確認

Mac App Store を使って 2019/04/18に公開され

→もっと見る

PAGE TOP ↑