PHPでページネーション機能を実装するコードの書き方を教えてください
以下では、PHPでページング機能を実装するための簡単なコード例を紹介します。
<?php
// 假设数据总数为100
$total = 100;
// 每页显示的数据条数
$pageSize = 10;
// 计算总页数
$totalPage = ceil($total / $pageSize);
// 当前页码,默认为第一页
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
// 当前页码不能小于1,也不能大于总页数
$page = max(1, min($page, $totalPage));
// 计算当前页的数据起始位置
$start = ($page - 1) * $pageSize;
// 假设数据数组为从1到100的数字
$data = range(1, 100);
// 获取当前页的数据
$currentPageData = array_slice($data, $start, $pageSize);
// 输出当前页的数据
foreach ($currentPageData as $item) {
echo $item . '
';
}
// 输出分页链接
echo '
';
echo '共' . $totalPage . '页 ';
for ($i = 1; $i <= $totalPage; $i++) {
if ($i == $page) {
echo $i . ' ';
} else {
echo '<a href="?page=' . $i . '">' . $i . '</a> ';
}
}
?>
ページング機能をシンプルに実装しました。データ総数が100、1ページあたり10件表示と仮定します。コードでは、まずページ総数を計算します。その後、現在のページ番号から現在のページのデータの開始位置を計算し、array_slice関数を使用して現在のページのデータを取得します。最後に、現在のページのデータを出力するループと、対応するページ番号をクリックして移動できるページングリンクを出力します。