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

関連記事

US出張時の時差ぼけを防ぐ方法

(2016/10/02 作成)久しぶりにUS出張に行ってきた。いつもUS出張時には時差ぼけによる強烈

記事を読む

Apple Developer Program 更新 2022

今年も Apple Developer Programを更新した。これで14回目になるようだ。

記事を読む

M1 MacBook Air を macOS Monterey にアップデート

Xcode 13.3 アップデート するために、macOSをBig Sur から Mon

記事を読む

no image

いまさらながらGoogle Chrome導入

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

記事を読む

no image

するぷろで初投稿。

必ず結果が出るブログ運営テクニック100 プロ・ブロガーが教える“俺メディア”の極意 を読んで、する

記事を読む

no image

MHP3 難読漢字モンスターリスト

最近 炎戈竜の爪 (えんかりゅうのつめ)を探しているが、そもそもモンスターの漢字をどう読むのか分から

記事を読む

no image

iPhone アプリアイコン設定

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

記事を読む

Google Search Console の利用を開始してみた

YouTube DATA API (iOS Quickstart  |  YouTube Data

記事を読む

no image

View-Based Application に UINavigationController を追加する方法その2

今回はSkitchを使ってキャプチャ画像を貼ってみた。キャプチャだとコードがコピペできないが...

記事を読む

no image

iPhone SDKでユーザデータをローカルに保存したい

一応5日より次のiPhoneアプリの開発を始めた。 前回のアプリはアプリの設定をちょこっとローカルに

記事を読む

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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Transcend TS-HUB5C を買ってみた

前回 USB Type-C ハブを買って返品してしまったので、再度検

TUNEWEAR ALMIGHTY DOCK nano1 USB3.2 5in1ハブ を買ってみた

ちょうどiPhone のリストアを実行中で、2時間程度かかっていたた

Apple Developer Program 更新 2022

今年も Apple Developer Programを更新した。こ

M1 MacBook Air を macOS Monterey にアップデート

Xcode 13.3 アップデート するために、macOS

Xcode 13.3 アップデート

iPhone 11 Pro Max の iOSを15.4に上げてしま

→もっと見る

PAGE TOP ↑