Anfang und Ende definieren?

asdfg

Mitglied
Ich arbeite gerade mit einem Galleriescript, wobei ich in der Detailansicht zwischen den Bilder hin und her switche. Wie kann ich den Anfang und das Ende berechnen?

PHP:
<?

function show_thumbs($cols, $th_width, $th_height, $cellpadding, 
                     $cellspacing, $perpage)
{
  $dir = $_GET["dir"];
  $tot = count_files($dir);
  if (isset($_GET["page"])) {
    $page = $_GET["page"];
  }  
  if (isset($_GET["img"])) {
    $img = $_GET["img"];
  }
  global $showfilename;
  global $hidefilenameext;
  
  
  
  echo "<div style='text-align: center'>";
  echo "<table border='0' cellpadding='$cellpadding' 
        cellspacing='$cellspacing' align='center'>\n";
  echo "<tr>\n";
         
  $filelist = list_files("./$dir/thumbs");
  $n = 1;
  
  $end = min(($page * $perpage), sizeof($filelist));

  for ($i = (($page - 1) * $perpage);  $i < $end; $i++) 
  {
    echo "<td>\n";    
    echo "<table border='0' cellspacing='0' cellpadding='0' 
          >\n";
    echo "<tr><td>\n";
    echo "<a href='show.php?dir=$dir&tot=$tot&img=".($i + 1).
         "&page=$page'>\n";
    echo "<img src='$dir/thumbs/$filelist[$i]' style='filter:alpha(opacity=30)' onmouseover='nereidFade(this,100,30,5)' onmouseout='nereidFade(this,30,50,5)' width='$th_width' 
               height='$th_height' border='0' alt=''><br>\n";
    echo "</a>\n";
    echo "</td></tr>\n";
    echo "</table>\n";
    
    if ($showfilename) 
    {
      if ($hidefilenameext) {
        echo "<small>".substr($filelist[$i], 0, strrpos($filelist[$i], '.'))."</small>";
      }
      else
      {
        echo "<small>$filelist[$i]</small>";
      }     
    }
    
    echo "</td>\n"; 

    if (($n % $cols) == 0 && ($n != $perpage)) 
    {
      echo "</tr>";
      echo "<tr align='center'>";
    }
    
    $n++;
  }
  echo "</tr>\n";    
  echo "</table>";
 

  if (sizeof($filelist) > $perpage) {
    echo ("Page:&nbsp;");
    
    for ($j = 1; $j <= ceil(sizeof($filelist) / $perpage); $j++) {
     
     
  
     if ($page == $j) {
       echo "<b>".$j."</b>";
     }
     else 
     {
       echo $j;
     } 
      
     echo "</a>";
     echo ("&nbsp;&nbsp;");
    }
  
    echo "<br><br>";  
  }

    
  echo "</div>";
 }


      // Hier beginnt der Teil inwelchem ich berechnen muss wann der Anfang und das Ende kommt 

function show_picture()
{
  $dir = $_GET["dir"];
  $tot = $_GET["tot"];
  $img = $_GET["img"];

  echo "<div style='text-align: center'>";
  
  
  if ($img  > 1)
  {
     
  }

  

  if ($img < $tot)
  {
    
  }

  echo "</big>\n";
 
  
  echo "<table width='100%' border='0' valign='top'  bordercolor='black' cellspacing='0' cellpadding='0' 
                align='center'>\n";
  echo "<tr><td align='center'>\n";
  
  echo "<table border='1' bordercolor='black' cellspacing='0' cellpadding='0'><tr><td><a href='javascript:window.history.back()'>"; 
  echo "<img src='$dir/".search_file("./$dir", $img)."' border=0 
        onLoad='resize(this);' name=foto 
        >";
  echo "</a><table cellspacing='0' cellpadding='0'><tr><td align='left'><img src='_photo/fips.jpg'></td></tr></table></td></tr></table>";
        
  echo "</td></tr>\n";
  echo "</table>\n";

echo "<br>";

 echo "<a href='".$PHP_SELF."?dir=".($_GET["dir"])."&tot=".($_GET["tot"])."&img=".($_GET["img"]-1)."'>Vorheriges</a>&nbsp;&nbsp;"; 
 echo "<a href='".$PHP_SELF."?dir=".($_GET["dir"])."&tot=".($_GET["tot"])."&img=".($_GET["img"]+1)."'>Nächstes</a>";
  
  echo "<br><br>\n"; 
  echo "<big>\n";
  
  
  
  
  
  

  
  
  echo "</div>"; 
}

?>

Wie füge ich da eine for-Schleife ein die mir den Anfang und das Ende berechnet?
 
Hallo,

du meinst sicher Anfang und Ender einer Bilderserie ?

Wie hast du die Bilder denn abgelegt ?
 
Dennis Wronka hat eine sehr schlichte Bildergallerie durch seine DIR-Listing-Klasse ermöglicht. Einfach mal die Forensuche beschäftigen ;)
Diese habe auch ich mir als Grundlage genommen und daraus eine ansehnliche Gallerie entwickelt.
Desweiteren wäre es toll, wenn du den von dir eingefügten Code wenigstens soweit schmälern könntest, dass nur noch die wichtigen, benötigten Teile drinstehen :)
 
Na ja, ich gebe, zu dieser Code ist ein riesen Durcheinander. Aber es sollte doch möglich sein, diese Schleife einzubauen? Ich möchte selbst eine eigene Gallerie aufsetzen, aber im Moment habe ich dafür einfach zu wenig Zeit.

Genau, ich meine den Anfang un das Ende einer Bildserie.
Ich habe die Bilder in verschiedenen Ordnern abgelegt. Der Name des jeweiligen Ordners ist in $_GET["dir"]; oder $dir geschrieben.

Die Anzahl ist jeweils in $tot geschrieben.

Ich denke, man müsste die Schleife nach der Funktion show_picture() integrieren.

Die Bilder werden auch schon mal gezählt, aber ich kann nicht herausfinden, um was es in diesem Teil genau geht.

PHP:
$filelist = list_files("./$dir/thumbs"); 
$n = 1; 
 
$end = min(($page * $perpage), sizeof($filelist)); 
for ($i = (($page - 1) * $perpage);  $i < $end; $i++)
 
In deinem Script ist der Anfang, wenn $page == 0 ist.
Ende ist in deinem Script, wenn $page >= $end ist.

Solltest da trotzdem mit $_GET['page'] arbeiten, statt mit $page
 
An Hektik: Ja genau, wie du beschriben hast, ist es sinnvoll, wenn ich zuerst den Code so darstelle, dass "nichtbenötigte" entfernt wird

und $_GET['page'] ist doch ein Array und $page ist eine Variable oder verstehe ich mich da falsch?

Wenn jemand trozdem schon einen Durchblick oder Weg, dürft ihr ruhig eure Lösung beschreiben.

Danke
 
Hi,

$_GET ist ein assoziatives array in dem alle Werte, die mit der GET Methode übergeben werden, gespeichert sind. Du kannst dann mit $_GET['variablen_name_ohne_$'] darauf zugreifen.

Es gibt noch weitere $_POST, $_SESSION,...

Gruß

Romsl
 
Zurück