ページ分割処理というんですか?商品リストの取得や、記事ページの取得などで、取得データの個数が多くなった時に、1ページに表示するデータ数は決めておいて、
「<前ページ 現ページ 次ページ>」
とするのが一般的ですよね。
しかし、あの処理って結構複雑で面倒じゃないですか?
PEARのPagerクラスを使うと、それがいとも簡単にできてしまいます。
(参考)
http://www.go-pear.org/manual/ja/package.html.pager.intro.php
(Pager.phpがなければ、PEAR 新しいパッケージをインストールするのようにPagerパッケージをインストールしましょう。)
上記のサイトの例に、解説を加えてみました。
<?php require_once 'Pager.php'; $params = array( 'mode' => 'Jumping', 'perPage' => 3, //(1ページに表示されるデータ数) 'delta' => 2, //(何ページにわたって表示するか、という数) 'itemData' => array('a','b','c','d','e',[...omissis...],'z')
//実際に使用する場合は、この’itemData’にSQLでとってきた配列などを指定すればOK。
); $pager = & Pager::factory($params); $data = $pager->getPageData(); $links = $pager->getLinks(); //$links is an ordered+associative array with 'back'/'pages'/'next'/'first'/'last'/'all' links. //NB: $links['all'] is the same as $pager->links;
//echo links to other pages: echo $links['all']; ?>