分页偏移不显示第一张图像

时间:2014-06-11 11:33:39

标签: php pagination

所以我正在编码分页,但是页面的第一个元素没有显示,我尝试了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'];
        }
        ?>

1 个答案:

答案 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" />';
}