首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分页PHP显示负数

问分页PHP显示负数
EN

Stack Overflow用户
提问于 2018-02-09 05:11:52
回答 1查看 299关注 0票数 0

我正在尝试编写分页代码,它应该显示如下:

<<1...11>>

但是它却显示了这一点:

<-5.11>

如果内容少于11页,就会发生这种情况。

这是我的密码

代码语言:javascript
复制
<?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">&laquo;</span>
    </a>

<?php else: ?>

    <span aria-hidden="true">&laquo;</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">&raquo;</span>
            </a>
        <?php else: ?>
                <span aria-hidden="true">&raquo;</span>
        <?php endif; ?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-09 05:37:50

看起来这条线不像你所期望的那样工作。

代码语言:javascript
复制
 if(($page - $limitPage) > ($count - ($limitPage*2))) $fromPage = $count - ($limitPage*2);

这里有一个php沙箱链接,其中包含一些调试代码,可以帮助您解决问题。http://sandbox.onlinephpfunctions.com/code/df2faac69d217ce8e5bea86b63325b8dd4c49600

代码语言:javascript
复制
$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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48699103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档