我正在尝试编写分页代码,它应该显示如下:
<<1...11>>
但是它却显示了这一点:
<-5.11>
如果内容少于11页,就会发生这种情况。
这是我的密码
<?php if($page != 1): ?>
<a href="?page=<?php echo $page-1; ?>&srch-term=<?php echo @$_GET['srch-term']; ?>&tag=<?php echo @$_GET['tag']; ?>&color=<?php echo @$_GET['color']; ?>" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
<?php else: ?>
<span aria-hidden="true">«</span>
<?php endif; ?>
</li>
<?php
$limitPage = 5;
$fromPage = ($page - $limitPage) <= 0 ? 1:$page - $limitPage;
$endPage = ($page + $limitPage) >= $count? $count:$page+$limitPage;
if($page <= ($limitPage)) $endPage = ($limitPage*2) + 1;
if(($page - $limitPage) > ($count - ($limitPage*2))) $fromPage = $count - ($limitPage*2);
?>
<?php for($i=$fromPage;$i<=$endPage;$i++): ?>
<li class="<?php echo ($page == $i)? 'active':''; ?>"><a href="?page=<?php echo $i; ?>&srch-term=<?php echo @$_GET['srch-term']; ?>&tag=<?php echo @$_GET['tag']; ?>&color=<?php echo @$_GET['color']; ?>"><?php echo $i; ?></a></li>
<?php endfor; ?>
<li class="<?php echo ($page == $count)? 'disabled':''; ?>">
<?php if($page != $count): ?>
<a href="?page=<?php echo $page+1; ?>&srch-term=<?php echo @$_GET['srch-term']; ?>&tag=<?php echo @$_GET['tag']; ?>&color=<?php echo @$_GET['color']; ?>" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
<?php else: ?>
<span aria-hidden="true">»</span>
<?php endif; ?>发布于 2018-02-09 05:37:50
看起来这条线不像你所期望的那样工作。
if(($page - $limitPage) > ($count - ($limitPage*2))) $fromPage = $count - ($limitPage*2);这里有一个php沙箱链接,其中包含一些调试代码,可以帮助您解决问题。http://sandbox.onlinephpfunctions.com/code/df2faac69d217ce8e5bea86b63325b8dd4c49600
$limitPage = 5;
$page = 1;
$count = 5;
$fromPage = ($page - $limitPage) <= 0 ? 1:$page - $limitPage;
$endPage = ($page + $limitPage) >= $count? $count:$page+$limitPage;
echo $fromPage . ' ' . $endPage. "\n";
if($page <= ($limitPage)) $endPage = ($limitPage*2) + 1;
echo $fromPage . ' ' . $endPage. "\n";
if(($page - $limitPage) > ($count - ($limitPage*2))) $fromPage = $count - ($limitPage*2);
echo $fromPage . ' ' . $endPage;https://stackoverflow.com/questions/48699103
复制相似问题