if anweisungen zu for-schleife umwandeln

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

  • if anweisungen zu for-schleife umwandeln

    also, ich habe jetzt mit ein paar if-anweisungen eine bildauflistung gemacht
    diese stopt bei 20 aufgelistetetn bildern automatisch
    meine frage jetzt: wie programmiert man das jetzt aus, dann beim weiter-klick die nächsten 20 angezeigt werden?
    lg
    PHP-Code:
    if($Verzeichniszeiger opendir($Pfad '/thumbs'))
    {
        
    $counter 0;
        while(
    $Datei readdir($Verzeichniszeiger))
        {    
                if (
    $counter 22)
            {
            if (
    $Datei != "." && $Datei != "..")
                {            
                echo 
    '<a href="aktivitaeten/' $_GET['id'] . '/' $Datei '" target="_blank">
                <img src="aktivitaeten/' 
    $_GET['id'] . '/thumbs/' $Datei '"></a>';
                
                    if ((
    $counter != 0) && ($counter != 0))
                    {
                    echo 
    '<br>';
                    }            
                }
            }
            else
            {
            echo 
    '<br><a href=""><em>nächste Seite...</em></a>';
            break;
            }
            
    $counter++;
            
        }
     
        
    closedir($Verzeichniszeiger);
    }  
     
    ?> 

  • #2
    Re: if anweisungen zu for-schleife umwandeln

    Original geschrieben von dws
    meine frage jetzt: wie programmiert man das jetzt aus, dann beim weiter-klick die nächsten 20 angezeigt werden?
    Man benutzt die Suchfunktion, weil das Thema alles andere als ein neues ist ...

    Stichworte bspw. blättern, Blätterfunktion.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      wie programmiert man das jetzt aus, dann beim weiter-klick die nächsten 20 angezeigt werden?
      garnicht, du kannst nicht einfach bei einem bild stoppen und dann bei einem anderen weitermachen.

      tipp: ordner komplett auslesen, in array schreiben und dann verarbeiten.

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        warum muss ich das unnütze einträge in das array schreiben?

        Kommentar


        • #5
          also ich hab mir gedacht, einfach:

          wenn $Datei nicht ist . oder .. und array-nummer größer $variable_x und $variable_y, dann gib es aus

          und diese $variable_x und $variable_y gebe ich ihm per ?variable_x= im link mit

          geht das nicht?
          ich weiß nur nicht, wie ich das dann genau programmiere...

          Kommentar


          • #6
            Original geschrieben von TobiaZ
            warum muss ich das unnütze einträge in das array schreiben?
            willst du jedesmal den kompletten ordner auslesen? eine db-lösung wäre natürlich besser.

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              eine datenbank-lösung ist schon drinnen, ich brauch ja nur das reinzuschreiben beim upload
              nur schauts dann besser aus?
              so bekomm ich beim ordner einlesen ja auch den array...
              lg

              Kommentar


              • #8
                Original geschrieben von TobiaZ
                warum muss ich das unnütze einträge in das array schreiben?
                weil man für eine blätterfunktion u.a die summe aller bilder benötigt benötigt.

                Kommentar


                • #9
                  @dws

                  dann kanst du aber bei der abfrage wunderbar mit LIMIT arbeiten. wenn du dich noch ein paar tage gedultest, gibt ein bei mir ein komplettes tutorial zu dem thema. ansonsten halte dich an das was wahsaga gesagt hat. suche nach "seitenweise blättern".

                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    willst du jedesmal den kompletten ordner auslesen?
                    nee, aber von 0 bis ENDWERT+1 muss ich das wohl machen. und die ersten x muss ich dann halt überspringen. Aber eben nicht extra in nen array schreiben.

                    eine db-lösung wäre natürlich besser.
                    keine frage.

                    nur schauts dann besser aus?
                    na klar, mysql kennt LIMIT.

                    so bekomm ich beim ordner einlesen ja auch den array...
                    nee, weil du keinen ordner mehr einlesen brauchst.

                    weil man für eine blätterfunktion u.a die summe aller bilder benötigt benötigt.
                    akzeptiert, wenn ich die seitennummern auflisten will. bei einer vor-zurück-lösung kann ich darauf verzichten.
                    Für die Anzahl tuts aber auch ein Zähler, zwecks speier.

                    Umsetzung ist halt auch ne Frage der größe, normalerweise sinds bei mir gerne mal ab 300 Bilder und aufwärts pro galerie. Da ist das Verzeichnisauslesen on the fly nicht mehr so angebracht. Bei 50 Bildern auf ner kleinen Seite, sieht das ganze sicher anders aus. Da kann man sich den Aufwand einer DB u.U. sparen.

                    Kommentar


                    • #11
                      weil man für eine blätterfunktion u.a die summe aller bilder benötigt
                      soweit habe ich auch schon gedacht:


                      PHP-Code:
                      //Anzahl der Bilder im Ordner
                      $endung = array('jpg','gif'); 
                      $dir opendir($Pfad);

                      while (
                      $datei readdir($dir)) {
                      if ((
                      $datei != ".") && ($datei != "..")) {
                      if (
                      in_array(substr($datei, -3), $endung)) { 
                      $dateien[] = $datei; }
                      }
                      }
                      closedir($dir);
                      $anzahl count($dateien);  //Anzahl = Wieviel Bilddatein wirklich im Ordner sind 
                      lg
                      georg

                      Kommentar


                      • #12
                        Original geschrieben von dws
                        soweit habe ich auch schon gedacht
                        gut, und wenn du jetzt noch weiterdenkst, fällt dir bestimmt auch auf, dass du noch einen weiteren parameter für das start-bild der vor/zurück/x-seite benötigst.

                        Kommentar


                        • #13
                          naja, die auflistung der galerien passiert ja auf grund dessen, welche ordner existieren und ob dort bilder drinnen sind
                          beim upload werden die bilder von 0.jpg, 1.jpg durchnummerriert
                          somit hab ich doch ein startbild
                          seite 1: 0.jpg
                          seite 2: 19.jpg
                          ...
                          oder was meinen sie?
                          lg
                          PS:
                          ich weis ja, suche: blättern etc., aber ich wills ja verstehen auch und nicht kopieren

                          Kommentar


                          • #14
                            naja, die auflistung der galerien passiert ja auf grund dessen, welche ordner existieren und ob dort bilder drinnen sind
                            das ist okay, auch wenns über ne DB schöner wäre.

                            beim upload werden die bilder von 0.jpg, 1.jpg durchnummerriert
                            das ist nett, so hast du zumindest keine doppelten namen. aber verlass dich nicht auf die nummerierung. wehe du musst ein bild löschen o.ä.

                            somit hab ich doch ein startbild
                            seite 1: 0.jpg
                            seite 2: 19.jpg
                            ...
                            oder was meinen sie?
                            das hast du sowieso.

                            gemeint ist aber dessen nummer/position über die URL zu übergeben (so wie es in diversen "Blättern"-Threads gemacht wird.

                            ich weis ja, suche: blättern etc., aber ich wills ja verstehen auch und nicht kopieren
                            keine sorge, kopieren wird aufgrund der threads fast unmöglich sein. aber verstehen sehr wohl.

                            Aber löscher uns gern mit konkreten Fragen.

                            Kommentar


                            • #15
                              stimmt, sobald ein bild gelöscht wird, gibts ein problem...
                              sie meinen also, beim upload umbenennen und den link dazu rein in die datenbank
                              abfragen tu ich dann nicht mehr die datein im ordner sondern nur mehr die url für das bild, die die id meiner gewünschten galerie hat?

                              ich hab das jetzt mal probiert, wie am anfang von mir gemeint, die ganzen if-anweisungen wegbringen, dass schaut dann so aus...

                              PHP-Code:
                              //Pfad für die Bilder
                              $Pfad './aktivitaeten/' $_GET['id'];

                              //Anzahl der Bilder im Ordner
                              $endung = array('jpg','gif'); 
                              $dir opendir($Pfad);

                              while (
                              $datei readdir($dir)) {
                              if ((
                              $datei != ".") && ($datei != "..")) {
                              if (
                              in_array(substr($datei, -3), $endung)) { 
                              $dateien[] = $datei; }
                              }
                              }
                              closedir($dir);

                              $anzahl count($dateien); //Anzahl = Wieviel Bilddatein wirklich im Ordner sind
                              $start 2;            //Einlesen des Bilderstarts 2 = 1. Bild
                              $proseite 6;            //Bilder pro Seite - 2

                              //Seitenanzahl errechnen
                              while ($anzahl 0)
                              {
                              $anzahl $anzahl 4;
                              $counter++;
                              }


                              //Ausgabe der Bilder im Intervall $start bis $proseite
                              for ( $i=$start$i $proseite$i++)  
                              {
                              echo 
                              '<a href="aktivitaeten/' $_GET['id'] . '/' $dateien[$i] . '" target="_blank">
                                   <img src="aktivitaeten/' 
                              $_GET['id'] . '/thumbs/' $dateien[$i] . '"></a>';

                              Im counter steckt jetzt die seitenanzahl fürs blättern, die ich unten ausgeben muss und die Íntervalle (also $start und $proseite) kann ich dann per $_get mitgeben...

                              schaut mich als ungeübten ganz brauchbar an...
                              Zuletzt geändert von dws; 06.01.2007, 16:36.

                              Kommentar

                              Lädt...
                              X