我制作了一个分页器,但问题是当只有一个页面时,它会在底部显示页码。所以我试着添加if~else但是我不能让它工作。 "错误:超过120秒的最大执行时间"
前
<div class="pagination">
<?php for($x = 1; $x <= $pages; $x++): ?>
<a href="?page=<?php echo $x; ?>"<?php if($page === $x) { echo ' class="selected" '; } ?>><?php echo $x ?></a>
<?php endfor; ?>
</div>
后
<div class="pagination">
<?php
if($pages > 1){
for($x = 1; $x <= $pages; $x++):
if($x = 1)
{
?>
<a href="?page=<?php echo $x; ?>"<?php if($page === $x) { echo ' class="selected" '; } ?>><?php echo $x ?></a>
<?php
} else {
echo '';
}
endfor;
}
?>
</div>
答案 0 :(得分:4)
假设$pages
是您拥有的总页数,您需要在if
语句中包装自定义分页,以便在显示分页之前检查您是否有超过1页。
<?php if ($pages > 1): ?>
<div class="pagination">
<?php for ($x = 1; $x <= $pages; $x++): ?>
<a href="?page=<?php echo $x; ?>"<?php if($page === $x) { echo ' class="selected" '; } ?>><?php echo $x ?></a>
<?php endfor; ?>
</div>
<?php endif; ?>
您的代码中断了,因为您在if
循环中执行了for
语句,并且每次都将$x
的值设置为1
(您是使用=
代替==
)。这会让你陷入无限循环。
如果您正在使用CakePHP,那么您有没有使用内置Pagination的原因? PaginatorHelper
应该为您提供显示分页所需的所有方法。