所以我正在编码分页,但是页面的第一个元素没有显示,我尝试了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'];
}
?>
答案 0 :(得分:2)
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" />';
}