php分页-如何限制显示的页面数
我很难理解如何限制分页的页数。我试图列出我的文章在我的数据库,但我有超过500页!我只想一次最多显示15个页码。我似乎不明白其他问题的答案 以下是我的分页代码:php分页-如何限制显示的页面数,php,pagination,Php,Pagination,我很难理解如何限制分页的页数。我试图列出我的文章在我的数据库,但我有超过500页!我只想一次最多显示15个页码。我似乎不明白其他问题的答案 以下是我的分页代码: <?php require 'core/init.php'; $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; if(!isset($_GET['page'])){ $_GET['page'] = 1; } if
<?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的页数。展示以下内容的最佳/最简单方式是什么:
123456789101113…>
?您需要更改周期的起始点和结束点
$count = 9;
$startPage = max(1, $page - $count);
$endPage = min( $pages, $page + $count);
for($i = $startPage; $i < $endPage; $i++) {
// write out the link to the page
}
$count=9;
$startPage=max(1,$page-$count);
$endPage=min($pages,$page+$count);
对于($i=$startPage;$i<$endPage;$i++){
//写出该页面的链接
}
然后,如果页面是250,它将只显示241、242、…、250、…、257、258,可能应该有$我