Zeilenumbruch alle 4 Datensätze

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

  • Zeilenumbruch alle 4 Datensätze

    Hallo liebe Community,

    ich stehe grad auf dem Schlauch, hatte dieses Problem schon zig male gelöst, grad hab ich aber eine Blokade drin.

    Ich möchte alle x Datensätze eine neue Zeile. dafür hab ich folgendes:

    PHP-Code:
    $reihe 4;

    for(
    $i=0$i<count($bilder); $i++)
    {
        if((
    $i $reihe) == 0)
            echo 
    '<tr>';
            
        echo 
    '<td><img src="'.base_url().THUMB_PATH.$bilder[$i]['bild_url'].'" /></td>';
        
        if((
    $i $reihe) == 0)
            echo 
    '</tr>';

    Leider will es nicht so ganz. Sind basics, hoffe jemand kann mich erlösen xD
    Zuletzt geändert von Fireclave; 09.09.2010, 11:25.

  • #2
    Hi.

    MAch es doch eleganter und nutze PHP: implode - Manual . Dann kannste jeweils mit deiner Bedingung jeden 4. Durchlauf ne neue Zeile machen.

    streuner
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      du musst beachten das die schleife beim ersten Durchlauf 0 ergibt ... somit dürfte das dein Problem sein ...
      Bitte Beachten.
      Foren-Regeln
      Danke

      Kommentar


      • #4
        Wie soll ich das denn mit implode machen, ich habe doch ein Array, mit dem ich wunderbar arbeiten kann. unter die Bilder soll nämlich noch was hin ;-)

        Aber selbst wenn ich als bedingung && !=0 setze hab ich das noch nicht perfekt

        Kommentar


        • #5
          Hallo,

          bei jedem 1. Durchlauf von vieren öffnest du richtigerweise eine neue Zeile. Schließen musst du sie aber nicht beim ersten sondern beim letzten:

          Code:
          $reihe = 4;
          
          for($i=0; $i<count($bilder); $i++)
          {
              if(($i % $reihe) == 0)
                  echo '<tr>';
                  
              echo '<td><img src="'.base_url().THUMB_PATH.$bilder[$i]['bild_url'].'" /></td>';
              
              if(([B][COLOR="Red"]($i + 1)[/COLOR][/B] % $reihe) == 0)
                  echo '</tr>';
          }
          Gruß,

          Amica
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Natürlich haut das so nicht hin, weil du ja immer im gleichen Schleifendurchlauf das öffnende und schließende TR-Element ausgibst - d.h., du erzeugst immer ein mal <tr><td></td></tr>, und die TDs aus den anderen Schleifendurchläufen hängen ohne TR in der Luft herum ...


            Sinnvoller ist es, wenn du die aktuelle Zeile schließt und danach sofort die nächste öffnest, wenn die Zeilenwechsel-Bedingung eintritt:
            PHP-Code:
            <table><tr>
            <?php
            $reihe 
            4;

            for(
            $i=0$i<16$i++) {
              if(
            $i && $i $reihe == 0) {
                echo 
            "</tr>\n<tr>";
              }
              echo 
            '<td>'.$i.'</td>';
            }
            ?>
            </tr></table>
            Was passiert, wenn die Anzahl der Bilder nicht restlos durch 4 teilbar ist, und ob darauf ggf. reagiert werden muss, solltest du dir noch überlegen.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Wird hier evtl. eine Tabelle dazu benutzt um irgendwas "gekachelt" darzustellen? Dann wäre evtl. anstatt der Tabelle eine Liste sinnvoller, die - entsprechend formatiert - eben deine gewünschte Vierer-Reihe anzeigt. Hat den Vorteil, dass du dich in PHP nicht darum kümmern musst, die "Umbrüche" hart ins Html reinzunotieren - auch um Dinge wie "unfertige" Tabellenzeilen musst du dich nicht kümmern.

              Weiterhin kannst du für z.B. ein mobiles Device wie z.B. ein SmartPhone z.B. das in einem eigenen CSS so layouten, dass z.B. Zweier- statt Vierer-Reihen entstehen.

              Nur so als gedankliche Anregung
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                hi,

                super jetzt weiß ich es wieder, ich habe auch immer eine reihe am anfang geöffnet und am ende geschlossen, weiß nicht wie ich auf den schrott vorhin gekommen bin.

                kurzer, geistiger aussetzer xD

                Kommentar

                Lädt...
                X