<?php
$arr_click = [
['clicks' => 3, 'clickDate' => '2010-10-11'],
['clicks' => 2, 'clickDate' => '2010-10-10'],
['clicks' => 3, 'clickDate' => '2010-10-09'],
['clicks' => 4, 'clickDate' => '2010-10-08'],
['clicks' => 5, 'clickDate' => '2010-10-13'],
['clicks' => 7, 'clickDate' => '2010-10-14'],
['clicks' => 6, 'clickDate' => '2010-10-15'],
['clicks' => 9, 'clickDate' => '2010-10-16'],
];
<?php
$page = isset($_GET['page']) ? max(1, (int)$_GET['page']) : 1;
$pageSize = 3;
$totalPages = ceil(count($arr_click) / $pageSize);
$page = min($page, $totalPages);
$offset = ($page - 1) * $pageSize;
$pageData = array_slice($arr_click, $offset, $pageSize);
// 顯示當前頁資料
foreach ($pageData as $row) {
echo $row['clickDate'] . "<br/>";
}
// 分頁導航
echo "<br>";
// 上一頁
if ($page <= 1) {
echo "<a href='?page=1'>上一頁</a> ";
} else {
echo "<a href='?page=" . ($page - 1) . "'>上一頁</a> ";
}
// 頁碼 (可選擇只顯示附近頁碼)
for ($i = 1; $i <= $totalPages; $i++) {
$style = ($i === $page) ? "style='color:red;'" : '';
echo "<a href='?page=$i' $style>$i</a> ";
}
// 下一頁
if ($page >= $totalPages) {
echo "<a href='?page=$totalPages'>下一頁</a>";
} else {
echo "<a href='?page=" . ($page + 1) . "'>下一頁</a>";
}
?>
參考前文 ArrayPaginator 類別封裝,支援任意陣列結構、自訂顯示回調、Bootstrap 風格分頁 HTML 輸出。