<?php
if (isset($_GET['page'])) {
$page = (int)$_GET['page'];
} else {
$page = 1;
}
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
// スタートのポジションを計算する
if ($page > 1) {
// 例:2ページ目の場合は、『(2 × 10) - 10 = 10』
$start = ($page * 10) - 10;
} else {
$start = 0;
}
//meiboテーブルから10件のデータを取得する
$posts = $dbh->prepare("
SELECT id, namae, jyusyo
FROM meibo
LIMIT {$start}, 10
");
$posts->execute();
echo "<table>\n";
echo "\t<tr><th>id</th><th>namae</th><th>jyusyo</th></tr>\n";
while( $result = $posts->fetch( PDO::FETCH_ASSOC ) ){
echo "\t<tr>\n";
echo "\t\t<td>{$result['id']}</td>\n";
echo "\t\t<td>{$result['namae']}</td>\n";
echo "\t\t<td>{$result['jyusyo']}</td>\n";
echo "\t</tr>\n";
}
echo "</table>\n";
// 接続を使用する
$page_num = $dbh->prepare("
SELECT COUNT(*) id
FROM posts
");
$page_num->execute();
$page_num = $page_num->fetchColumn();
//ページネーションの数を取得する
$pagination = ceil($page_num / 10);
?>
<?php
for ($x=1; $x <= $pagination ; $x++) { ?>
<a href="$_SERVER[PHP_SELF]?page=<?php echo $page+1 ?>"><?php echo $page + 1; ?></a>
<?php }
print "$APPFOOTER";
?>
<p><a href="DBphpmenu.php">データベースメニューへ戻る</a></p>
</body>
</html>
何ページあるかをどうして知るか?という問題は残ります。