我目前正在做一个分页系统,但我有一个错误,即尽管已到达最后一页,但“NEXT”按钮仍继续工作,当单击此按钮时,它会将我带到一个没有内容的额外页面。
“下一步”按钮应该在第 2 页上消失,但它是连续的,并将我发送到没有内容的第 3 页。
代码
$display_pagina = 5;
if(isset($_GET['pagina'])){
$pagina = $_GET['pagina'];
} else{
$pagina = 1;
}
$inicio = ($pagina-1)*$display_pagina;
$query = "SELECT p.*, t.name, e.status FROM post AS p LEFT JOIN tipo as t ON (t.id = p.tipo_id) LEFT JOIN estado as e ON (e.id = p.estado_id) ORDER BY id DESC LIMIT $inicio, $display_pagina";
$result = mysqli_query($link, $query);
<div class="info-list" id="info-list-id">
<?php
while($post = mysqli_fetch_assoc($result)){
?>
<a class="boton" href="info/<?php echo $post['url_slug']?>">
<div class="info">
<div class="info-content">
<img src="<?php echo '/images/info/' . $post['image']; ?>" class="info-image"/>
<p class="info-title"><?php echo $post['title'];?></p>
<p class="info-type"><?php echo $post['name']?></p>
</div>
</div>
</a>
<?php } ?>
</div>
<div class="catalogo-pagination">
<?php
$query = "SELECT p.*, t.name, e.status FROM post AS p LEFT JOIN tipo as t ON (t.id = p.tipo_id) LEFT JOIN estado as e ON (e.id = p.estado_id)";
$result = mysqli_query($link, $query);
$total_registros = mysqli_num_rows($result);
$total_paginas = ceil($total_registros/$display_pagina);
if($pagina>1){
echo "<li><a href='info.php?pagina=".($pagina-1)."'>Previous</a></li>";
}
for ($i=1; $i<=$total_paginas; $i++) {
echo "<li><a href='info.php?pagina=".$i."'>".$i."</a></li>";
};
if($i>$pagina){
echo "<li><a href='info.php?pagina=".($pagina+1)."' class='button'>NEXT</a></li>";
}
echo "</ul>";
?>
答案 0 :(得分:1)
由于您只想在总页数大于当前页数时显示下一个链接,因此可以将条件更改为:
if ($total_paginas > $pagina) {
echo "<li><a href='info.php?pagina=".($pagina+1)."' class='button'>NEXT</a></li>";
}