【发布时间】:2020-03-24 15:49:01
【问题描述】:
<div class="row">
<div class="container">
<div class="col s12">
<ul class="pagination center-align text-blue">
<?php
$get_pagCount = "SELECT COUNT(p_id) as count_pro FROM products";
$run_pagCount = mysqli_query($con,$get_pagCount);
$row_pagCount = mysqli_fetch_array($run_pagCount);
$totalRecords = $row_pagCount["count_pro"];
$totalPages = ceil($totalRecords / $perPage);
?>
<!-- left symbol of pagination -->
<?php if ($paginationNo==1): ?>
<li class="waves-effect disabled"><a href="#!"><i class="material-icons">chevron_left</i></a></li>
<?php endif; ?>
<?php if ($paginationNo!==1): ?>
<li class="waves-effect"><a href="products.php?paginationId=<?php echo($paginationNo-1); ?>"><i class="material-icons">chevron_left</i></a></li>
<?php endif; ?>
<!-- pagination numbers dynamics -->
<?php for ($i=1; $i<=$totalPages; $i++): ?>
<?php if ($paginationNo == $i): ?>
<li class="waves-effect active"><a href="#!"><?php echo($i); ?></a></li>
<?php endif; ?>
<?php if ($paginationNo !== $i): ?>
<li class="waves-effect"><a href="products.php?paginationId=<?php echo($i); ?>">2</a></li>
<?php endif; ?>
<?php endfor; ?>
<!-- right symbol of pagination -->
<?php if ($paginationNo == $totalPages): ?>
<li class="waves-effect disabled"><a href="#!"><i class="material-icons">chevron_right</i></a></li>
<?php endif; ?>
<?php if ($paginationNo !== $totalPages): ?>
<li class="waves-effect"><a href="products.php?paginationId=<?php echo($paginationNo+1); ?>"><i class="material-icons">chevron_right</i></a></li>
<?php endif; ?>
</ul>
</div>
</div>
</div>
上面代码中所有等于和不等于的if条件都对相同的条件返回true。这怎么可能?如下图所示,为分页的左箭头创建了两个箭头,为 1 个分页创建了两个 li,一个为活动的,另一个为不活动的,如上面代码中的 if 条件所述。如果我使 $paginationNo = 5 等于 $totalPages 则左箭头创建一次,但分页右箭头创建两次 output of the code above
【问题讨论】:
-
试试
!=,因为我假设$paginationNo可能是一个字符串,1是数字,因此测试在数据类型上失败 -
哈哈哈哈太明显了。我应该去睡觉了。非常感谢,这让我发疯了。
标签: php mysql if-statement