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

时间:2014-03-21 08:57:36

标签: php pagination

您好我是非常新的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 数据,所以我不使用html数据中的任何PHP代码)

尝试了这个,但没有奏效。我想我还需要更多的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>';
        }

差不多。现在我有正确的数字,我只能看到1个图像,其余的都是char(不是pic更多../images/ui-bg_diagonals-medium_20_d34d17_40x40 - Kopie(2).png ../ images / ug-bg_d)

1 个答案:

答案 0 :(得分:0)

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

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

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