我正在编码分页,但是页面的第一个元素没有显示。我尝试了2种不同的偏移量,但使用第一个,不显示一个,但使用第二个,它不显示两个图像。
offset = (page - 1) * itemsPerPage
offset = (page - 1) * itemsPerPage +1
我的分页图像库代码
<?php
$per_page = 12;
$page = $_GET['page'];
$start = ($page - 1) * $per_page; //first item to display on this page
$files = array_slice(glob("img/*.*"), $start, $per_page);
$file_count = glob("img/*.*");
for ($i=1; $i<count($files); $i++){
$image = $files[$i];
//print $image ."<br />";
echo '<img src="'.$image .'" alt="Random image" />';
}
$per_page = 12;
$pages = ceil(count($file_count)/$per_page);
$page = $_GET['page'];
if(!isset($_GET['page'])){
header("location: index.php?page=1");
}else{
$page = $_GET['page'];
}
?>
for ($i=1; $i<count($files); $i++){
$image = $files[$i];
//print $image ."<br />";
echo '<img src="'.$image .'" alt="Random image" />';
}
如果我在看这段代码,问题之一是你从来没有调用数组中的第一个值。数组的第一个值是0
所以你的for循环永远不会到达第一个值。因为$i = 1您应该从$i = 0开始,并使用count($files-1)来达到第一个值。
for ($i=0; $i<count($files-1); $i++){
$image = $files[$i];
//print $image ."<br />";
echo '<img src="'.$image .'" alt="Random image" />';
}