Blättern mit automatischem generieren der weiteren Seiten

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

  • Blättern mit automatischem generieren der weiteren Seiten

    Guten Tag allerseits,
    Ich bins nochmals...
    Es geht wieder um die Bildergalerie.
    Mein neues Problem ist das ich zwar Seitenlinks generieren kann doch keine neuen Seiten. D.h. das Script errechnet gesamtanzahl_Bilder / wieviele_Bilder_pro_Seite und rundet das Ergebniss auf sodass es weiss wieviele Links es generieren muss. Doch ich hab keine Idee wie ich eine neue Seite generieren kann, die über $GET aufgerufen werden kann. (Ach ja es wäre dann doch aber möglich die Startanzahl der Bilder (bzw. den $i) durch die Endanzahl der vorigen Seite (noch k.A. wie ich das ermitteln soll) +1 zu ermitteln?


    Hier mein Quelltext (die Link generation ist ein Codeschnipsel von Titus aus diesem Forum)
    PHP-Code:
    <?php
    echo "<head>\n";
    echo 
    "<title>Bilder Galerie</title>\n";
    echo 
    "</head>\n";
    echo 
    "<body>\n";


    $bildpfad "./admin/galerie/";
    $handle opendir($bildpfad);
    $lv 1;
    while(
    $file readdir($handle)){
    // Serververweise nicht auslesen
    if($file != "." && $file != ".."){
    // Nur Bilder auslesen
    if(preg_match("/.(jpg|gif|png)$/i"$file)){
    // Ausgelesene Bilder in ein Array laden
    $bild[$lv] = $file;
    $lv++;
    }
    }
    }
    closedir($handle);
    // Wieviel Bilder sind es eigendlich?
    $anzbilder count($bild);
    // Wurde schon eine ID übergeben?
    if(!isset($_GET['b'])) $_GET['b'] = 1;
    if(!isset(
    $_GET['p'])) $_GET['p'] = $j+1;
    $bilderzeile '4';
    $bilderseite '12';

    echo 
    "<p align='center'>";

    // Wenn die Variable Seite nicht existiert oder gleich NULL ist,
    // wird diese auf 1 gesetzt
            
    if(!isset($seite) || $seite == 0)
            {
             
    // Variable Seite auf 1 setzten
             
    $seite 1;
            }
        
            
    // Anzahl der Datensätze angeben  (Hier ein array von 1 bis 200)
        
    $anzahl_der_Datensaetze $bild;

        
    // Maximaler Wert der auf einer Seite gezeigt werden soll
        
    $max_wert_pro_seite 12;

        
    // Startwert der Seite ermitteln
            
    $startwert = ($seite $max_wert_pro_seite)-$max_wert_pro_seite;
        
            
    // Endwert der Seite ermitteln
            
    $endwert $seite $max_wert_pro_seite;

            
    // Schleife um die verschiedenen Werte auszugeben,
            // die aus dem array $anzahl_der_Datensaetze auslese
            
    for($i=1;$i $max_wert_pro_seite+1;$i++)
            {
             echo 
    "<a href='gallerie.php?b=$i' target='_self' >
             <img src='admin/galerie/thumbs/"
    .$bild[$i+1]."'></a>&nbsp;&nbsp;&nbsp;";
             if(
    $i%$bilderzeile==0)
     echo 
    '<br /> <br />';
             
    $startwert++;
            }

            
    // Ausgabe der Seitenanzahl mit hinterlegtem Link
            
            // Errechnen der Seitenanzahl
            
    $max_seiten_anzahl count($anzahl_der_Datensaetze)/$max_wert_pro_seite;

           
    // Schleife zur Ausgabe
            
    for($j=1;$j $max_seiten_anzahl+1;$j++)
            {
             
    // Link für die anderen Seiten erstellen
             
    $ausgabe "<a href='".$_SERVER['PHP_SELF']."?b=".$_GET['b']."'>";

             
    // Wenn die Seite der Zählervariable entspricht,
             // wird diese Zahl mit grösser dargestellt, ansonsten ganz normal
             // durch den .= entspricht $variable = $variable . "string"
             
    if($j == $seite)
             {
              
    $ausgabe .= "<font size=+2>[$j]</font>";
             }
             else
             {
              
    $ausgabe .= "$j";
             }
             
    $ausgabe .= "</a>\t\n";

             
    // ausgabe des neuen Links
             
    echo $ausgabe;
            }
    echo 
    "</p>";
    echo 
    "</body>";
    echo 
    "</html>";
    ?>
    Mfg
    MonkeyMan
    Zuletzt geändert von MonkeyMan_CH; 16.09.2006, 16:27.

  • #2
    Regeln lesen, Code so umbrechen, dass man bei 1024er Schirm nicht mehr Querscrollen muss, Danke.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      das wichtigste steckt wohl hier drin, richtig?
      PHP-Code:
      for($i=1;$i $max_wert_pro_seite+1;$i++) 
      jetzt sollst du nicht bei 1 beginnen, sondern beiim startwert
      Code:
      (nummer_der_aktuellen_seite * anzahl_bilder_pro_seite)
      und nicht bis $max_wert_pro_seite+1 gehen, sondern bis
      Code:
      startwert + anzahl_bilder_pro_seite

      Kommentar

      Lädt...
      X