durch Fotos blättern ohne datenbank

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

  • durch Fotos blättern ohne datenbank

    Hab einen bug in meinem Blätterscript. Ich möchte eigentlich, das auf jeder Seite und Zeilen mit jeweils 5 Spalten abgebildet werden.

    Was mach ich falsch? Über baldige Hilfe wäre ich dankbar!

    So besser gesetzt?

    PHP-Code:
    <script language="JavaScript">
    function fenster(name) 
      {
      var breite = 500;
      var hoehe  = 500;
      NewWin = window.open
      ("ausgabe.php?file="+name, 
      "Foto", 
      "width="+breite+",
      height="+hoehe+", 
      top=0, left=0, location=no,
      menubar=no, status=no,toolbar=no,

      scrollbars=yes, resizable=yes");
    }
    </script>

    <?php 
    // Seiten erstellen
    function printDataHorizontal($data$col,
    $width="100%",$border="0",
    $short_menue1,$seiten,$count)
    {
      
    $tdWidth round(100/$col);
      
    $pfad "thumbs";


      
    //Tabellen erstellen
      
    echo "<table width=\"$width\" 
      border=\"
    $border\">\n";
      for (
    $i 0$i $count$i+=$col)
      {
       echo 
    "<tr>\n";
       for(
    $j 0$j $col$j++)
       {
        if (
    $i+$j $count)
        {
         
    $file "thumbs/m_".$data[$i+$j];
         
    $s=<img src=\"thumbs/t_".$data[$i+$j]."\">
         </a><br>"
    ;
         }
        else 
    $s "&nbsp;";
        echo 
    "<td width=\"$tdWidth%\">$s</td>\n";
        }
       echo 
    "</tr>\n";
      }
     echo 
    "</table>\n";
    }

    //Bilder einlesen
    $bilder_array = array();
    $bilder_dir=opendir ("thumbs/");
     while (
    $bilder readdir ($bilder_dir))
     {
      
    $bilder_filter substr("$bilder"02);        
      if(
    $bilder != "." && $bilder != ".." 
      
    && $bilder_filter == "t_")
        {
          
    $short_menue1 str_replace("t_"""$bilder);
          
    array_push ($bilder_array$short_menue1);
         }
      }
    sort($bilder_array);
        
    //blättern
    $page $_GET['page'];
    if (!
    $page$page=1;
    if (
    $page!=1
    echo 
    '<a href="?page='.($page-1).'">";
    echo"zurueck</a>'
    ;
    if (
    $page<(count($bilder_array)/10)) 
    echo 
    ' <a href="?page='.($page+1).'">";
    echo"vorwaerts</a>";

    $col = 5;
    $width ="100%";
    $bilderproseite =10;
    $border = 0;
    $count = count($bilder_array);
    $seiten = round($count/$bilderproseite);
    for ($i = (0+(($page-1))*$bilderproseite); 
    $i<($bilderproseite+
    ($bilderproseite*($page-1))); $i++){
    printDataHorizontal($bilder_array, $col, $width,
     $border,$short_menue1,$seiten,$count);
    }
    closedir($bilder_dir);
    ?>
    Zuletzt geändert von blydesign; 15.08.2005, 17:32.

  • #2
    Brich bitte deinen Code gemäß Regeln um!

    Wo ist dein Ansatz, oder ist das ein Fall für Projekthilfe?

    Kommentar


    • #3
      die Suchfunktion gibt hilfe.

      es gibt sehr viele tolle Beispiele hier , also einfach mal suchen,
      das hilft.

      PS: brich den Code um
      Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

      Kommentar


      • #4
        gesucht habe ich ja, aber ich hab niergendwo eine Lösung gefunden,
        in der angegeben wird, wie man aus einem array eine Blätterfunktion
        erstellt, bei der jede Seite eine dynamische Tabelle beinhaltet.

        Das auslesen des array in eine Tabelle funktioniert ja.
        Oder aber das blättern ohne die Tabellen.
        Was nicht funktioniert ist beides zusammen -> da hab ich auch nichts zu gefunden.

        Kommentar


        • #5
          Du könntest auch erstmal erzählen was nicht funktioniert.
          Spinnt die Blätterfunktion?
          Wie? Was wird angezeigt was nicht?

          Ein wenig mehr Input wäre hilfreich!

          Kommentar


          • #6
            Original geschrieben von blydesign

            -> da hab ich auch nichts zu gefunden.
            wie wär's mit selber erstellen? mit ein bisschen logisch denken, kommt man zum Ziel.

            Tipp: du liest erstmal das Verzeichnisinhalt in Array ein, anhand der aktuellen Daten über Page und Gesamtanzahl sowie Anzahl der Bilder pro Page gibst du die Daten in Tabellen aus, in dem du nur einen Teilarray durchläufst. That's it.

            Kommentar


            • #7
              Also, bin jetzt ein klein wenig weiter,
              nur gibt php mir jetzt insgesamt 20 Bilder
              auf zwei Seiten aus, statt wie gewollt auf
              der ersten 20 und auf der nächsten 4...
              Hab ich hier was falsch gesetzt? Bitte helft mir!

              PHP-Code:
              <? 
              function getImagesFromPath($path)

               $result = array(); 
               $handle=opendir($path); 
               while ($bilder = readdir ($handle))
               { 
                if ($bilder != "." && $file != "..")
                { 
                 if (! is_dir($bilder))
                 { 
                  $bilder_filter = substr("$bilder", 0, 2);
                  if($bilder != "." && $bilder != ".." 
                  && $bilder_filter == "t_")
                  $result[] = $bilder; 
                 }
               }

              return $result; 

               
              if (isset($_GET["page"]))
              $page = $_GET["page"];
              else $page = 0;
              $picPerPage = 20;
              $path = "thumbs";
              $fileNames = getImagesFromPath($path);
              $numPics = count($fileNames);
              if (($page * $picPerPage) > $numPics)
              $page = 0;
              $tr=0;
              echo "<table width=\"100\" 
              border=\"0\"><tr>";
              for ($i = 0; $i < $picPerPage; $i++)
              {
               $num = $page * $picPerPage + $i;
               $tr++;
               if ($num < $numPics && $tr < 6)
                {
                 echo "<td>";
                 echo"<img src=\"$path/";
                 echo"$fileNames[$num]\">";
                 echo"</td>";
                 }
               elseif ($num < $numPics 
               && $tr ==6) 
               {
                echo "</tr><tr>";
                $tr =0;
                }
                else echo "<td></td>";
                }
                echo "</table>";

              if ($page > 0)
              {
               $num = $page - 1;
               echo "<div id=\"unterzeile_container\">";
               echo"<div id=\"unterzeile\">";
               echo "<a href=\"editieren2.php?";
               echo "page=$num\">";
               echo " Zurück </a></div></div>";
               }
              if ((($page+1)*$picPerPage)< $numPics)
              {
               $num = $page + 1;
               echo "<div id=\"unterzeile_container\">";
               echo"<div id=\"unterzeile\">";
               echo "<a href=\"editieren2.php?";
               echo "page=$num\">";
               echo "Weiter </a></div></div>";
              }
              ?>
              Zuletzt geändert von blydesign; 15.08.2005, 17:59.

              Kommentar


              • #8
                code einrücken und umbrechen! Kann ja niemand lesen >_>

                das Umbrechen gilt auch für den oberen Post, horizontale Scrollbalken sind hier nicht erwünscht!

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  So hab ich nun geändert -> Könnt Ihr mir jetzt weiterhelfen?

                  Kommentar


                  • #10
                    Kannst du mir mal erklären, wieso ich bei normaleinstellung auf nem 19"TFT immernoch einen Scrollbalken sehe. Bis zum nächstem Posting deinerseits ist das erledigt. ansonsten *close*

                    Kommentar


                    • #11
                      Ich versteh das nicht,

                      mein Code ist doch schon viel kürzer als Dein Texz zum Beispiel. Liegt das an meinem Browser(Safari)?

                      Kommentar


                      • #12
                        Original geschrieben von TobiaZ
                        ...auf nem 19"TFT ...
                        OffTopic:
                        ... angeber *boah* ...


                        @Tobi, FF ist Sch**ße, ruf mal den Thread in IE oder Opera auf

                        Kommentar


                        • #13
                          mag ja sein, aber normaler fließtext wird umgebrochen, dein Code in [PHP]-Tags nicht!

                          Kommentar


                          • #14
                            OffTopic:
                            ... angeber *boah* ...
                            Musste ich schreiben, weil ich die Auflösung nicht im Kopf hab!

                            Kommentar


                            • #15
                              Original geschrieben von TobiaZ
                              mag ja sein, aber normaler fließtext wird umgebrochen, dein Code in [PHP]-Tags nicht!
                              Original geschrieben von asp2php

                              @Tobi, FF ist Sch**ße, ruf mal den Thread in IE oder Opera auf

                              Kommentar

                              Lädt...
                              X