分页“上一个”和“下一个”错误

一切正常,但“上一页”和“下一页”链接不起作用。 点击“上一页”或“下一页”后,页面会加载,但不会显示最新或旧图像。 链接引用“php?page = -1”为prev“php?page = 1”和下一个但是像我说的新图像或旧图像只显示第一个“20”和其他第一个$ record_count

<?php $dir = "."; opendir($dir); https://stackoverflow.com/questions/27460382/pagination-prev-and-next-error/$file = ('uploaded/'); https://stackoverflow.com/questions/27460382/pagination-prev-and-next-error/$files = glob("uploaded/*.*"); usort(https://stackoverflow.com/questions/27460382/pagination-prev-and-next-error/$files, function ($a, $b) { return filemtime($b) - filemtime($a); }); $record_count = **20**; $totla_pages = ceil(count(https://stackoverflow.com/questions/27460382/pagination-prev-and-next-error/$files)/$record_count); $home_script = $_SERVER['REQUEST_URI']; if($_SERVER['REQUEST_URI'] == $home_script) { $page = ""; } $offset = ($page-1)*$record_count; https://stackoverflow.com/questions/27460382/pagination-prev-and-next-error/$files_filter = array_slice(https://stackoverflow.com/questions/27460382/pagination-prev-and-next-error/$files, $offset,$record_count); foreach (https://stackoverflow.com/questions/27460382/pagination-prev-and-next-error/$files_filter as https://stackoverflow.com/questions/27460382/pagination-prev-and-next-error/$file) { echo ""; } if($totla_pages > 1){ if($page != 1){ echo 'Prev'; } if($page != $totla_pages){ echo 'Next'; } } ?> 

首先,您需要始终正确地初始化$page变量,将其设置为整数。

为此,您可以检查是否发送了查询变量,如果没有,请将其设置为1

 // somewhere at the top of your script if (empty($_GET['page'])) { $page = 1; } else { $page = (int) $_GET['page']; } 

您还可以对$_GET['page']进行更多检查,以确保它始终是大于0的数字。