Probleme mit Gallerie Skript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Gallerie Skript

    Nabend!!

    Hab mir ein ganz simples und kleines Gallerieskript gemacht, das einfach nur bilder aus einem ordner ausliest und die Bilder auf mehrere seiten verteilt. jetzt ist mir aber aufgefallen, das wenn ich über "nächste seite" mich durch die ganzen bilder klicke, mir dann aber plötzlich bilder von der vorvorherigen seite angezeigt werden. ist blöd zu verstehen, aber hier mal ein beispiel:
    betrachte seite 12, betrachte seite 13, betrachte seite 14 aber hier werden die bilder von seite 12 nochmal dargestellt. das macht er auch ganz zufällig, also nicht bei jeder seite. was kann das sein?
    und dann habe ich noch eine frage, und zwar wie kann ich bei der seitennavigation immer nur die aktuelle seitezahl und 2 davor und dahinter anzeigen lassen, sprich so: 1 ... 10 11 12 13 14 ... 35
    könnte sich einer mal bitte den code anschauen, und sagen woran es vllt. liegen könnte bzw. was man verbessern könnte?

    PHP-Code:
    <?php

    $pro_seite
    =4;              
    $includephp="index.php?page=fun&site=pics&";  
    $path="fun/bilder/";

    //Angegebenes Verzeichnis auslesen
    $bilder glob("{".$path."*.gif,".$path."*.jpg,".$path."*.png}"GLOB_BRACE);

    //Adressleiste auslesen.(Anfangswert)
    if(isset($_GET['pic'])) {
      
    $anfang=$_GET['pic'];
        }
        else {
        
    $anfang=0;
    }

    //Ende der Seite.
    $ende=$anfang $pro_seite;


    //Bilder darstellen
    for($count $anfang$count $ende$count++){
      if(
    count($bilder)==$count){
        break;
        }
        else{
        echo (
    "<br><p align=\"center\"><img src=\"".$bilder[$count]."\"></p>");
      }
    }

    //Seiten zählen.
    $seiten=count($bilder);
    $seitenzahlen=ceil($seiten $pro_seite);

    //Seitennavigation
    if($pic >= $pro_seite){
        echo (
    "<p align=\"center\"><a href=\"".$includephp."pic=".($pic-$pro_seite)."\">
                       Vorherige Seite</a>&nbsp;|&nbsp;"
    );
    }
    else {
        echo (
    "<p align=\"center\">Vorherige Seite&nbsp;|&nbsp;");
    }  
    $seiteaktuell=($pic+$pro_seite) /$pro_seite;
    for(
    $count2 1$count2 $seitenzahlen +$count2++) {
        if(
    $count2 == $seiteaktuell) {
          echo (
    "<b><i>".$count2."</i></b>&nbsp;|&nbsp;");
        }
        else {
          echo (
    "<a href=\"".$includephp."pic=".($count2*$pro_seite-$pro_seite)."\">".$count2."
                         </a>&nbsp;|&nbsp;"
    );
      }
    }    
        
    if(
    $pic < ($seitenzahlen*$pro_seite)-$pro_seite){
      echo (
    "<a href=\"".$includephp."pic=".($pic+$pro_seite)."\">Nächste Seite</a>&nbsp;");
    }
    else {
    echo (
    "Nächste Seite&nbsp");
    }
    echo (
    "<br>Bilder gesamt: ".$seiten."</p>");
    ?>
    ...thx & mfg schickimicky
    Zuletzt geändert von schickimicky; 14.01.2006, 00:40.

  • #2
    Sortiere das Array $bilder gleich nach dem Erzeugen, das hilft vielleicht.
    Das Anzeige der Seitenzahlen ist ziemlich trivial, 1 ist immer da, die letzte ist count($bilder)/$pro_seite, die aktuelle Seite bekommst du mehr oder weniger als GET-Parameter und zwei davor und dahinter schreiben ist auch nicht schwer.

    Kommentar

    Lädt...
    X