分页PHP没有mysql(或任何其他数据库)


pagination php without mysql (or any other database)

你好,我是php的新手,所以我正在努力。

我有一个超过200张图片的网站,我想在页面中分割它们,所以我尝试分页,但我只有图像而不是数据库,所以我的代码到目前为止

   $iPicturesPerSite = 10;
    $output = '';
    $files = glob('../images/'.$sSearchFor.'*.{jpg,png,gif}',GLOB_BRACE);
    $iSite = 1;
    if(isset($_GET['iSite']) && is_numeric($_GET['iSite']) && $_GET['iSite'] > 0){
        $iSite = $_GET['iSite'];
    }
  $iMaxBildNummer = $iPicturesPerSite * $iSite;
    if($iMaxBildNummer > sizeof($files)){
        $iMaxBildNummer = sizeof($files);
    }
    for($i=(($iPicturesPerSite*$iSite)-$iPicturesPerSite); $i<$iMaxBildNummer; $i++){
        $size = getimagesize($files[$i]);
        $output = $output.$this->_simpleTpl("tpl/item.tpl",array(
                'showName'=> basename($files[$i]),
                'imagewidth' => $this->width,
                'fileName'=>'images/'.basename($files[$i]),
                'resolution'=>$size[0]."x".$size[1],
                'fileSize' => round(filesize($files[$i])/1024),
                'link' => '.link to file='.$files[$i]));
  }
    return $output;
}

所有我得到到目前为止,我可以在第一页看到10张图片(取决于我在iPicturesPerSite)。但现在我需要添加next/prev链接行,我需要将pic拆分为链接。

我正在尝试2天,但这就是我得到的,我没有变得更好:(任何链接/帮助会很好。(这不是完整的代码,我有一些其他的东西在它和它的一个html + php数据,所以我不使用任何php代码在html数据)

尝试了这个,但没有工作。我认为我还需要更多的学习PHP,因为我不知道如何做到这一点。谢谢

编辑:

     $total_data = count($files);       

        $page = isset($_GET['page'])?intval($_GET['page']):1;     // GETTING PAGE NUMBER FROM URL
        if(empty($page) || $page==1) {
            $start_val = 0;
            $end_val = $iPicturesPerSite - 1;
        }
        else {
            $start_val = ($page * $iPicturesPerSite) - $iPicturesPerSite;
            $end_val = $start_val + ($iPicturesPerSite - 1);
        }


        for($i=$start_val;$i<=$end_val;$i++){
            echo $files[$i].' ';
        }

        $less_than = $total_data/$iPicturesPerSite;
        if($less_than>intval($less_than)) $less_than = $less_than + 1;
        if($total_data>1) {
            echo '<div class="pagination">';
            echo ($page-1)>0?'<a href="?page='.($page-1).'">Previous</a>&nbsp;':'Previous&nbsp;';
            for($i=1;$i<=$less_than;$i++){
                if($page==$i) echo '<a class="paginator linkno">';
                else echo '<a href="?page='.$i.'" class="paginator">';
                echo $i;
                echo '</a>&nbsp;';
            }
            echo ($page+1)<=$less_than?'<a href="?page='.($page+1).'">Next</a>':'Next';
            echo '</div>';
        }

。现在我有了正确的数字,但我只能看到一个图像,其余的是字符(不是PIC的更多…/images/ui-bg_diagonals-medium_20_d34d17_40x40 - Kopie (2).png ./images/ui-bg_d)

我不确定这是否是您自己编写的,但我注意到这里内置了分页技术。iSite基本上是你的页码,你必须使用它来构建下一个/上一个链接。

下一页链接将是page.php?iSite=<?php echo $iSite+1 ?>

之前是page.php?iSite=<?php echo $iSite-1 ?>

相关文章: