2
我很難理解如何限制分頁頁數。我試圖將我的文章列在我的數據庫中,但我有超過500頁!我只想每次最多顯示約15個頁碼。我似乎無法理解其他問題中給出的答案。php分頁 - 我如何限制頁面顯示數量
這裏是我的分頁代碼:
<?php
require 'core/init.php';
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if(!isset($_GET['page'])){
$_GET['page'] = 1;
}
if(! (int)$_GET['page']){
$_GET['page'] = 1;
}
if($_GET['page'] < 1){
$_GET['page'] = 1;
}
$perPage = 18;
$start = ($page > 1) ? ($page * $perPage) - $perPage : 0;
$articles = DB::getInstance()->query("SELECT SQL_CALC_FOUND_ROWS * FROM articles ORDER BY added DESC LIMIT {$start}, {$perPage}");
foreach($articles->results() as $article){ ?>
<div class="article-container">
<h2><?php echo $article->title; ?></h2>
</div>
<?php
}
// pagination
$total = DB::getInstance()->query("SELECT FOUND_ROWS() as total");
$total = $total->results()[0];
foreach ($total as $total => $value) {
}
$pages = ceil($value/$perPage);
$maxpage = 15;
?>
<div class="pagination">
<?php if($_GET['page'] >= 2){
echo '<a href="?page=' . ($_GET['page'] -1) . '" class="paginationButton">Prev</a>';
}
for ($i=1; $i <= $pages; $i++) : ?>
<a href="?page=<?php echo $i; ?>" <?php if($page === $i) { echo 'class="pageSelected"'; } ?>><?php echo $i; ?></a>
<?php endfor;
if((int)$_GET['page'] != $i - 1){
echo '<a href="?page=' . ($_GET['page'] +1) . '"class="paginationButton">Next</a>';
}
?>
</div>
可正常工作,但它只是吐出來的頁面,從1到500的數字是什麼,顯示像這樣的最好/最簡單的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 ...>
?
它不顯示最後一個數字。爲什麼? –
可能應該有; $ i <= $ endPage;也有最後一個 – Richard