Gallery Frage/Problem

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

  • Gallery Frage/Problem

    Ich habe eine Gallery mit der Funktion "Bild zurück" und "Nächstes Bild"

    $iid-1 = Bild zurück
    $iid+1 = Nächstes Bild

    Jetzt möchte ich wenn das letzte od. das erste Bild angezeigt wir das der Eintrag "Nächses Bild od. Bild zurück" verschwindet. Jetzt erscheint immer eine leere Seite!!

    Wie kann ich das machen
    Danke für eure Hilfe
    Marco

    Code:
        $iid2 = $iid+1;
        $tot = count($th);
        $op = "";
        $op .= "<tr>\n<td>\n<div align=\"center\"> $msgcp $iid2 $msgof $tot </td>\n</tr>\n<tr>\n";
        $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | <a href=\"$sback\"> $msgback </a> | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A></td>\n</tr>\n<tr>\n";
        $op .= "<td>\n<div align=\"center\">\n";
        $op .= "<img src=\"$files[$iid]\" border=\"0\">\n";
        $op .= "<br>$isz: $iw[$iid] x $ih[$iid]\n";
        $op .= "<br>$ifs[$iid] Kb.</a>\n";
        $op .= "<br>\n</div>\n</td>\n</tr>\n";
        $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | <a href=\"$sback\"> $msgback </a> | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A></div></td></tr>";
        echo $op;

  • #2
    Re: Gallery Frage/Problem

    Original geschrieben von arnold
    [B]Ich habe eine Gallery mit der Funktion "Bild zurück" und "Nächstes Bild"

    $iid-1 = Bild zurück
    $iid+1 = Nächstes Bild

    Jetzt möchte ich wenn das letzte od. das erste Bild angezeigt wir das der Eintrag "Nächses Bild od. Bild zurück" verschwindet. Jetzt erscheint immer eine leere Seite!!
    Du könntest einfach mit einer If Abfrage überprüfen ob die ID eine gewisse Größe hat. Ist sie 1 dann wirde der zurück Link nicht angezeigt ist sie gleich (dem vorher auszulesenden Maximum) wird der Weiter Link nicht angezeigt.


    Nur ne Idee

    Grüße

    Chris
    Grüße Chris

    --
    Ab welcher Stapeltiefe wird aus einem Deja-vu eigentlich eine Rekursion?

    Kommentar


    • #3
      du meinst zb so:

      PHP-Code:
      if (empty($iid-1)) 
      aber wie verschwindet dann der eintrag?

      Kommentar


      • #4
        Nein, er meint so:
        PHP-Code:
        if ($iid>$kleinste_iid){
            
        $op .= "<a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | ";
        }
        $op .= "<a href=\"$sback\"> $msgback </a>";
        if (
        $iid<$groeste_iid){
            
        $op .= " | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A>";

        (zum Beispiel)

        Kommentar


        • #5
          das ist mir irgendwie zu hoch!!

          wenn ich das reinbaue macht es genau nichts!

          Kommentar


          • #6
            du musst natürlich die vars $kleinste_iid und $groeste_iid selbst definieren.
            Heißt also $kleinste_iid ist der wert den $iid hat wenn das erste bild angezeigt wird,
            und $groeste_iid ist der Wert den $iid hat wenn das letzte Bild angezeigt wird.
            Wo ist da jetzt des Problem?

            Kommentar


            • #7
              das ist genau das problem!!
              es gibt eine upload-funktion,
              das heisst es kommen immer mehr bilder in die gallery!!

              das muss irgendwie automatisch möglich sein!

              Kommentar


              • #8
                die sind doch bestimmt in einem speziellen verzeichnis? zähl die Dateien durch und beleg somit maxid....
                Für Rechtschreibfehler übernehme ich keine Haftung!

                Kommentar


                • #9
                  also ihr meint etwa so:

                  $tot = ist die zahl der bilder im verzeichnis

                  PHP-Code:

                  $kleinste_iid 
                  "1";
                  $groeste_iid "$tot ";


                  if (
                  $iid>$kleinste_iid){
                      
                  $op .= "<a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | ";
                  }
                  $op .= "<a href=\"$sback\"> $msgback </a>";
                  if (
                  $iid<$groeste_iid){
                      
                  $op .= " | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A>";

                  ich habe es eingebaut!!
                  klappt aber nicht!!
                  wo und wie soll ich es einbauen das es funktioniert??

                  Kommentar


                  • #10
                    klappt aber nicht!!
                    Was klappt nicht? Was wird ausgegeben?
                    wo und wie soll ich es einbauen das es funktioniert??
                    Na da wo die Links in deinem script stehen.

                    btw: Was genau steht in $iid?

                    Kommentar


                    • #11
                      es erscheint leider keine fehlermeldung!

                      $iid = das sind die bilder

                      Kommentar


                      • #12
                        $iid = das sind die bilder
                        Deine Bilder heißen also 1,2,3 usw. ? *dummstell*
                        es erscheint leider keine fehlermeldung!
                        Und sonst? Zeigt er immernoch die Links an wenn ers nicht soll oder zeigt er garnix an oder wie?

                        Kommentar


                        • #13
                          nein die bilder heissen zb: DSC00200.JPG also nicht 1.JPG usw..

                          also ich poste einmal den ganzen code

                          ich hoffe es kann mi dann jemand helfen

                          PHP-Code:
                           <?


                          if (isset($_GET['iid'])) {
                              $_GET['iid'];
                          } elseif (isset($_POST['iid'])) {
                              $_POST['iid'];
                          }



                          $files = array();
                          if ($handle = opendir('.')) {
                              while (false !== ($file = readdir($handle))) {
                                  if ($file != "." && $file != "..") {
                                      if (eregi("\.jpe?g$", $file) ||
                                       eregi("\.gif$", $file) ||
                                       eregi("\.png$", $file)) {
                                       $files[] = $file;
                                   }
                                  }
                              }
                              closedir($handle);
                          }


                          sort($files);

                          if (!is_dir($thumb)) {
                             mkdir($thumb, 0755);
                          }

                          $i = 0;
                          $th = array();
                          $iw = array();
                          $ih = array();
                          $ifs = array();
                          foreach ($files as $image) {
                                  $thumbimage = $thumb."/".$image;
                                  $thumbbig = $image;
                                  $thumb_exists = file_exists($thumbimage);
                                  $size = GetImageSize($image);
                                  $width  = $size[0];
                                  $height = $size[1];
                                  $type   = $size[2];
                                  if (!$thumb_exists) {
                                      set_time_limit(30);
                                      switch ($type) {
                                          case 1 :
                                          $im = ImageCreateFromGIF($image);
                                           break;
                                          case 2 :
                                          $im = ImageCreateFromJPEG($image);
                                          break;
                                          case 3 :
                                          $im = ImageCreateFromPNG($image);
                                          break;
                                      }
                                      $newwidth = $thumbwidth;
                                      $newheight = ($newwidth / $width) * $height;
                                      $im2 = ImageCreateTrueColor($newwidth,$newheight);
                                      ImageCopyResampled($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height);
                                      switch ($type) {
                                          case 1:
                                          ImageGIF($im2, $thumbimage);
                                          break;
                                          case 2:
                                          ImageJpeg($im2, $thumbimage, $imagequality);
                                          break;
                                          case 3:
                                          ImagePNG($im2, $thumbimage);
                                          break;
                                          imagedestroy($im);
                                          imagedestroy($im2);
                                      }

                                  }
                          $th[$i] = $thumbimage;
                          $thb[$i] = $thumbbig;
                          $iw[$i] = $width;
                          $ih[$i] = $height;
                          $ifs[$i] = round((@filesize($image)/1024), 1);
                          $i++;
                          }
                          echo "<table border=\"1\" align=\"center\" bordercolor=\"#000000\" cellspacing=\"3\" cellpadding=\"3\">";
                          if (!isset($iid)) {
                              $rows = round(count($th)/$cols);
                              if (($rows * $cols) < (count($th))) {
                                  $rows++;
                              }
                              for ($i = 1; $i <= $rows; $i++) {
                                  echo "<tr>";
                                  for ($j = 1; $j <= $cols; $j++) {
                                      $td = (($i - 1) * $cols) + $j;
                                      $iu = ($td - 1);
                                      if (isset($th[$iu])) {
                                          $op = "";
                                          $op .= "<td><font size=\"1\">\n<div align=\"center\">\n<br>\n";
                                          $op .= "<a title=\"$vi\" href=\"$sname?iid=$iu\">\n";
                                          $op .= "<img src=\"$th[$iu]\" border=\"0\">\n";
                                          $op .= "<br><a href=\"javascript:popImage('$thb[$iu]','$popup')\">$windows</a>\n";
                                          $op .= "<br>\n</div>\n</td>\n";
                                          echo $op;
                                      } else {
                                          echo "<td>\n<br></td>\n";
                                      }
                                  }
                                  echo "</tr>\n";
                              }

                          } else {
                              $iid2 = $iid+1;
                              $tot = count($th);
                              $op = "";
                              $op .= "<tr>\n<td>\n<div align=\"center\"> $msgcp $iid2 $msgof $tot </td>\n</tr>\n<tr>\n";
                              $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | <a href=\"$sback\"> $msgback </a> | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A></td>\n</tr>\n<tr>\n";
                              $op .= "<td>\n<div align=\"center\">\n";
                              $op .= "<img src=\"$files[$iid]\" border=\"0\">\n";
                              $op .= "<br>$isz: $iw[$iid] x $ih[$iid]\n";
                              $op .= "<br>$ifs[$iid] Kb.</a>\n";
                              $op .= "<br>\n</div>\n</td>\n</tr>\n";
                              $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | <a href=\"$sback\"> $msgback </a> | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A></div></td></tr>";
                              echo $op;

                          }
                          echo "</table>";
                          ?>

                          Kommentar


                          • #14
                            Also wenn ich das richtig sehe, ist $iid der index von dem Array $files (und den ganzen andern Arrays wie $th,$iw$ih usw.).
                            Das heißt also, dass $iid auf keinen Fall kleiner wie 0 sein darf, da $files immer bei 0 anfängt.
                            => $kleinste_iid=0

                            Und wie kriegt man jetzt den maximal erlaubten Wert von $iid?
                            Wie kriegt man den raus wie groß ein Array ist ? (das steht schon in deinem Code)
                            Und wenn dein Array 5 Werte hat, welchen Wert hat der größte Index?
                            =>$groeste_iid=??

                            Das müsstes du jetzt eigentlich selber rauskriegen.

                            Kommentar


                            • #15
                              das haben wir ja schon einmal gehabt!

                              script:

                              PHP-Code:

                              $kleinste_iid 
                              "0";
                              $groeste_iid "$tot ";


                              if (
                              $iid>$kleinste_iid){
                                  
                              $op .= "<a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | ";
                              }
                              $op .= "<a href=\"$sback\"> $msgback </a>";
                              if (
                              $iid<$groeste_iid){
                                  
                              $op .= " | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A>";


                              und das habe ich so eingebaut:
                              (da ist warscheinlich auch der fehler)


                              PHP-Code:

                              <?


                              if (isset($_GET['iid'])) {
                                  $_GET['iid'];
                              } elseif (isset($_POST['iid'])) {
                                  $_POST['iid'];
                              }



                              $files = array();
                              if ($handle = opendir('.')) {
                                  while (false !== ($file = readdir($handle))) {
                                      if ($file != "." && $file != "..") {
                                          if (eregi(".jpe?g$", $file) ||
                                           eregi(".gif$", $file) ||
                                           eregi(".png$", $file)) {
                                           $files[] = $file;
                                       }
                                      }
                                  }
                                  closedir($handle);
                              }


                              sort($files);

                              if (!is_dir($thumb)) {
                                 mkdir($thumb, 0755);
                              }

                              $i = 0;
                              $th = array();
                              $iw = array();
                              $ih = array();
                              $ifs = array();
                              foreach ($files as $image) {
                                      $thumbimage = $thumb."/".$image;
                                      $thumbbig = $image;
                                      $thumb_exists = file_exists($thumbimage);
                                      $size = GetImageSize($image);
                                      $width  = $size[0];
                                      $height = $size[1];
                                      $type   = $size[2];
                                      if (!$thumb_exists) {
                                          set_time_limit(30);
                                          switch ($type) {
                                              case 1 :
                                              $im = ImageCreateFromGIF($image);
                                               break;
                                              case 2 :
                                              $im = ImageCreateFromJPEG($image);
                                              break;
                                              case 3 :
                                              $im = ImageCreateFromPNG($image);
                                              break;
                                          }
                                          $newwidth = $thumbwidth;
                                          $newheight = ($newwidth / $width) * $height;
                                          $im2 = ImageCreateTrueColor($newwidth,$newheight);
                                          ImageCopyResampled($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height);
                                          switch ($type) {
                                              case 1:
                                              ImageGIF($im2, $thumbimage);
                                              break;
                                              case 2:
                                              ImageJpeg($im2, $thumbimage, $imagequality);
                                              break;
                                              case 3:
                                              ImagePNG($im2, $thumbimage);
                                              break;
                                              imagedestroy($im);
                                              imagedestroy($im2);
                                          }

                                      }
                              $th[$i] = $thumbimage;
                              $thb[$i] = $thumbbig;
                              $iw[$i] = $width;
                              $ih[$i] = $height;
                              $ifs[$i] = round((@filesize($image)/1024), 1);
                              $i++;
                              }

                              // ------------------------------------------------------------------------------------------
                              $kleinste_iid = "0";
                              $groeste_iid = "$tot ";


                              if ($iid>$kleinste_iid){
                                  $op .= "<a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | ";
                              }
                              $op .= "<a href=\"$sback\"> $msgback </a>";
                              if ($iid<$groeste_iid){
                                  $op .= " | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A>";
                              }

                              // --------------------------------------------------------------------------------------------

                              echo "<table border=\"1\" align=\"center\" bordercolor=\"#000000\" cellspacing=\"3\" cellpadding=\"3\">";
                              if (!isset($iid)) {
                                  $rows = round(count($th)/$cols);
                                  if (($rows * $cols) < (count($th))) {
                                      $rows++;
                                  }
                                  for ($i = 1; $i <= $rows; $i++) {
                                      echo "<tr>";
                                      for ($j = 1; $j <= $cols; $j++) {
                                          $td = (($i - 1) * $cols) + $j;
                                          $iu = ($td - 1);
                                          if (isset($th[$iu])) {
                                              $op = "";
                                              $op .= "<td><font size=\"1\">\n<div align=\"center\">\n<br>\n";
                                              $op .= "<a title=\"$vi\" href=\"$sname?iid=$iu\">\n";
                                              $op .= "<img src=\"$th[$iu]\" border=\"0\">\n";
                                              $op .= "<br><a href=\"javascript<img src="images/smilies/tongue.gif" border="0" alt="">opImage('$thb[$iu]','$popup')\">$windows</a>\n";
                                              $op .= "<br>\n</div>\n</td>\n";
                                              echo $op;
                                          } else {
                                              echo "<td>\n<br></td>\n";
                                          }
                                      }
                                      echo "</tr>\n";
                                  }

                              } else {
                                  $iid2 = $iid+1;
                                  $tot = count($th);
                                  $op = "";
                                  $op .= "<tr>\n<td>\n<div align=\"center\"> $msgcp $iid2 $msgof $tot </td>\n</tr>\n<tr>\n";
                                  $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | <a href=\"$sback\"> $msgback </a> | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A></td>\n</tr>\n<tr>\n";
                                  $op .= "<td>\n<div align=\"center\">\n";
                                  $op .= "<img src=\"$files[$iid]\" border=\"0\">\n";
                                  $op .= "<br>$isz: $iw[$iid] x $ih[$iid]\n";
                                  $op .= "<br>$ifs[$iid] Kb.</a>\n";
                                  $op .= "<br>\n</div>\n</td>\n</tr>\n";
                                  $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"$sname?iid=" .  ($iid-1) . "\">$back</A> | <a href=\"$sback\"> $msgback </a> | <a href=\"$sname?iid=" .  ($iid+1) . "\">$next</A></div></td></tr>";
                                  echo $op;

                              }
                              echo "</table>";
                              ?>

                              Kommentar

                              Lädt...
                              X