[Funktion] php in tabelle mit 3 zellen pro zeile

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

  • [Funktion] php in tabelle mit 3 zellen pro zeile

    Hallo,
    Bin absoluter Anfänger und hab folgende Frage.
    Mittels PHP Funktion werden thumbs aus einem Verzeichnis in Tabellenform dargestellt.
    Leider wird aber nur eine Zeile erzeugt , in die alle Pics reinkommen.
    Ich bräuchte es aber so, dass nur jeweils 3 oder max 4 Bilder pro zeile erzeugt werden und danach eine neue Tabellenzeile beginnt.
    Der ganze Code stammt aus einem Wordpress Thema.

    PHP-Code:
    function spitOutWallpaperThumbs() {
        
    $d=TEMPLATEPATH.'/wallpapers/';
        
    $wallpapers=array();
        
    $dir opendir($d);
         while (
    $f readdir($dir)) { 
          if (
    eregi("\.jpg",$f)){ 
           
    array_push($wallpapers,"$f"); 
          }
         }
         print 
    "<table><tr>\n";
        
    $countwallpapers '0';
        foreach(
    $wallpapers as $wallpaper) {
        
        print 
    "<td class=\"switcher\"><a href=\"javascript: void(0);\" onclick=\"changebackground(" $countwallpapers ");\" id=\"wallpaper" $countwallpapers "\" class=\"wallpaper\"></a></td>\n";
        
    $countwallpapers++;
         }
         print 
    "</tr></table>\n";

    Ich hoffe ich habs halbwegs verständlich erklärt und es kann mir jemand helfen, da ich noch mit PHP ziemlich auf Kriegsfuss stehe.

  • #2
    brich bitte deinen code um!


    Ich bräuchte es aber so, dass nur jeweils 3 oder max 4 Bilder pro zeile erzeugt werden und danach eine neue Tabellenzeile beginnt.
    suche mal nach mehrspaltig, was du hättest schon machen können, VOR dem post hier.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      % ist das Stichwort

      PHP-Code:
      foreach($wallpapers as $wallpaper) {
          
          print 
      "<td class=\"switcher\"><a href=\"java script: void(0);\" onclick=\"changebackground(" $countwallpapers ");\" id=\"wallpaper" $countwallpapers "\" class=\"wallpaper\"></a></td>\n";
      if(!(
      $countwallpapers%3)) { echo '</tr><tr>'; }
          
      $countwallpapers++;

           } 
      mfg

      Kommentar


      • #4
        Schon mal was von "Schleifen" oder "Zählvariablen" gehört?
        machst es einfach so (kein ordentlicher Quelltext):
        PHP-Code:
        echo"<table>";
        foreach...{
         
        $i++;
         if(
        $i==(Je nachdem wieviele Bilder du pro Zeile haben willst){
           echo
        "</tr><tr>";
           
        $i=1;
         }
         echo
        "<td>hier kommt dein bild</td>"

        Kommentar


        • #5
          Honki, der Mudolo ist da sicherlich die günstigere Methode, da er ja sowieso hochzählt.
          MfG

          Kommentar


          • #6
            Hi,

            oder man schreibt sich einen generator. Aber das ist
            vll zu viel des guten für so einfache dinge.

            greets
            (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

            Kommentar


            • #7
              weiß schon, nur hatte ich parallel geschrieben und wollte es dann nicht mehr löschen
              ist ja nicht so schlimm, denk ich

              Kommentar


              • #8
                @Trashar:
                Danke für deinen Tipp mit %
                Ist das was mit modulo?
                ich hab aber den Teil
                PHP-Code:
                if(!($countwallpapers%3)) { echo '</tr><tr>'; } 
                weiter oben einfügen müssen, anders hats nicht gefunzt.
                in etwa so:
                PHP-Code:
                foreach($wallpapers as $wallpaper) {
                    if(!(
                $countwallpapers%3)) { echo '</tr><tr>'; }
                    print 
                "<td class=\"switcher\">...</td>\n";
                    
                $countwallpapers++;
                     } 
                An alle anderen: Sorry für schlechten Umbruch und unordentlichen
                Quelltext.
                Hatte den Text aus dem Script direkt kopiert.
                Und nein Zählvariablen und Schleifen sagen mir leider noch nicht
                sehr viel - eigentlich nix.
                Danke trotzdem

                Kommentar

                Lädt...
                X