do/while Problem mit Tabellenspalten

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

  • do/while Problem mit Tabellenspalten

    hiho,

    ich habe ein Verzeichnis ausgelesen und lasse die Bilddateien in diesem Verzeichnis in einer Tabelle ausgeben. Jeweils ein Bild pro Tabellenzeile - das Ganze mit foreach.

    echo '<table width="600" border="0" cellspacing="0" cellpadding="0">',"\n";

    $folder = '../images/content/screenshots/UltimateSpiderman/';
    foreach(PicturePreview($folder) as $item) {
    echo '<tr><td><img src="'.$folder.'/'.$item.'"><br>'.$item.'</td></tr>',"\n";}

    echo '</table>';

    Ich möchte allerdings 3 Bilder (jeweils ein Bild in einer Tabellenspalte) pro Tabellenzeile ausgegeben. Es sollen solange Tabellenzeilen ausgegeben werden, bis keine Bilder mehr da sind.

    Ich könnte mir vorstellen, dass dies mit do/while geht, hab aber keinen Plan wie das klappen könnte?

    Besten Dank, mil

  • #2
    Das geht mit jeder beliebigen Schleifen, der Trick ist doch, nach jeweils x (bei dir 3) Durchläufen eine neue Tabellenzeile anzufangen. Das war hier aber auch schon dutzendmal Thema, such mal!

    Kommentar


    • #3
      also for ist schon gut. um dann die tabellen spalte zu wechslen sollte die die modulo funktion helfen. such mal darunter. findest du 100pro was
      2 meiner pages:

      Kommentar


      • #4
        Also modulo war ein gutes Stichwort, bin auch glaube ich schon auf der Zielgeraden. Problem er zeigt mir jetzt jedes Bild 6x an:

        1 1 1
        1 1 1
        2 2 2
        2 2 2
        3 3 3
        3 3 3

        So sieht mein PHP-Code aus:

        PHP-Code:
        //Show files (*.gif, *.jpg) 

        echo '<table width="600" border="0" cellspacing="0" cellpadding="0">',"\n";

        $folder '../images/content/screenshots/UltimateSpiderman/';
        foreach(
        PicturePreview($folder) as $item) {
            
            
        $z=0;
            for(
        $i=0;$i<6;$i++) {
                echo (
        $z%3==0) ? "<tr>\n" "";
                echo 
        '<td><img src="'.$folder.'/'.$item.'"></td>',"\n";
                
        $z++;
                echo (
        $z%3==0) ? "</tr>\n" "";
                }
                
            echo (
        $z%3!=0) ? "</tr>\n" "";
        }

        echo 
        '</table>'
        Ich fang gerade erst an mit PHP - vielleicht habt ihr noch einen entscheidenden Tip für mich - dann nerv ich auch nicht weiter...

        thx, mil

        Kommentar


        • #5
          Jo ist ja auch kein Wunder. Du durchläufst das ganze mit einer foreach-Schleife und darin verschachtelt eine for-Schleife, die von 0-5 zählt. Du brauchst einen Zähler in der foreach-Schleife und den prüfst du auf ($i%3 == 0) und keine zusätzlich verschachtelte for-Schleife.

          Da hätte man mit ein bisschen Hirnschmalz auch von alleine drauf kommen können.

          Kommentar


          • #6
            Ich hab leider noch nie einen Zähler in eine foreach Schleife gebaut, kannst du mir das noch kurz zeigen, vielleicht anhand eines Beispiels.

            Das würde meinen Hirnschmalz vielleicht ein stückweit auf Vordermann bringen, 1000 Dank

            Kommentar


            • #7
              PHP-Code:
              $i 0;
              foreach ( .. )
              {
                
              $i++;

              Kommentar

              Lädt...
              X