PEAR::Pager + PEAR::MDB2
PEAR::Pager 使ったことないので、PEAR::MDB2と合わせて使ってみようと思ったらこんなソースになった。
PEAR::Pager の拡張クラスとかで、直接 DB を参照しにいく機能とかもありそうな気がするのけど、とりあえずパス。
[php]
<?php
require_once('MDB2.php');
require_once('Pager.php');
$p = (int) isset($GET['p']) ? $GET['p'] : 1; $limit = 12;
$dsn = 'mysql://user:password@localhost/test'); $dbh =& MDB2::factory($dsn); $dbh->loadModule('Extended');
$totalItems = $dbh->queryOne('SELECT COUNT(*) FROM shops');
$list = $dbh->getAll( 'SELECT * FROM shops ORDER by id DESC LIMIT ?,?', null, array*1;
$pager =& Pager::factory(array( 'urlVar' => 'p', 'totalItems' => $totalItems, 'currentPage' => $p, 'perPage' => $limit, ));
echo '
'; echo $pager->links; echo ''; foreach ($list as $row) { echo $row['id'] . ',' . $row['name'] . '
'; }
echo '';
exit; ?>[/php]
*1:$p - 1) * $limit, $limit