>> dynamische Tabelle mit 3 Spalten

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

  • >> dynamische Tabelle mit 3 Spalten

    Hallo zusammen!

    Ich habe folgendes (wahrscheinlich banales) Problem:

    Ich will Bilder und Überschriften aus einer mySQL-Tabelle in eine dynamisch generierte HTML-Tabelle schreiben. Es sollen jeweils
    3 Paare pro Reihe sein, bevor eine neue Reihe angelegt wird.

    Also eine Art Foto-Album.
    Mein Code zeigt mir nur eine Reihe an. Kann mir jemand sagen was ich anders machen muss?? Vielen Dank!

    PHP-Code:
    ...
    <table width="100%"  border="0" cellspacing="5" cellpadding="10">

      <?php do { ?>
    <tr>

        <?php for ($i=1;$i<4;$i++) { ?>
            <td>
                <table width="33%"  border="0" cellspacing="5" cellpadding="10">
                    <tr>
                        <td><img src="<?php echo $row_Recordset2['bildURL']; ?>" alt="" name="PicA"></td>
                    </tr>
                    <tr>
                        <td><?php echo $row_Recordset2['titel']; ?></td>
                    </tr><?php $row_Recordset2 mysql_fetch_assoc($Recordset2); ?>
                </table>
            </td>
            
        <?php ?>
    </tr>
      <?php } while ($row_Recordset2 mysql_fetch_assoc($Recordset2)); ?>

    </table>
    </body>
    </html>
    <?php mysql_free_result($Recordset2); ?>
    Zuletzt geändert von Octosebus; 06.03.2005, 01:09.

  • #2
    mach mal aus deinem do ne while schleife und das hier :
    <?php $row_Recordset2 = mysql_fetch_assoc($Recordset2); ?>
    is zuviel
    warum hast Du ne for() schleife innerhalb der do schleife?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Hallo MelloPie,

      die for-Schleife soll bewirken, dass 3 Paare(Bild/text) nebeneinander dargestellt werden. Sie erzeugt innerhalb der do-while-Schleife pro Reihe 3 mini-Tabellen mit den Paaren.

      Die do-while-Schleife soll checken ob noch datensätze vorhanden sind und immer den nächsten ausgeben.

      wenn ich das innere

      <?php $row_Recordset2 = mysql_fetch_assoc($Recordset2); ?>

      weglasse, werden pro Reihe 3mal der gleiche Datensatz angezeigt, aber neue Reihen mit den folgenden Datensätzen generiert.

      Ich habe den Befehl oben aus der do-while-Schleife nochmal benutzt,
      weil ich nicht weiß wie ich sonst an den nächsten Datensatz komme.

      Kommentar


      • #4
        ok, ich habe den Code jetzt geändert...
        jetzt klappt es, allerdings findet die while-Schleife durch den Einsatz von != in der Bedingung kein Ende und bringt meinen Server zum Absturz!
        Mein Ziel war es, die Schleife so lange auszuführen, bis die Nummer des aktuellen Datensatzes mit der Gesamtzahl der Datensätze in der Tabelle übereinstimmt. Weiß jemand eine bessere Lösung??
        Ich weiß da nicht weiter...
        PHP-Code:
        ...
        <table width="100%"  border="0" cellspacing="5" cellpadding="10">

          <?php do { ?>
        <tr>

            <?php for ($i=1;$i<4;$i++) { ?>
                <td>
                    <table width="33%"  border="0" cellspacing="5" cellpadding="10">
                        <tr>
                            <td><img src="<?php echo $row_Recordset2['bildURL']; ?>" alt="" name="PicA"></td>
                        </tr>
                        <tr>
                            <td><?php echo $row_Recordset2['titel']; ?></td>
                        </tr>
                    </table><?php $row_Recordset2 mysql_fetch_assoc($Recordset2); ?>
                </td>
                
            <?php ?>
        </tr>
          <?php /* } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));*/ ?>
        <?php 
        } while (mysql_num_rows($Recordset2) != $row_Recordset2); ?>

        </table>
        </body>
        </html>
        <?php mysql_free_result($Recordset2); ?>

        Kommentar


        • #5
          Mach mal in der Schleife ein
          PHP-Code:
          echo mysql_num_rows($Recordset2
          und schau Dir das Ergebniss an.

          Kommentar


          • #6
            naja sieht aus wie durchs knie in den Kopf.

            innerhalb einer while schleife würde ich lieber einen modulo nehmen um zu erreichen, dass drei Bilder nebeneinander stehen.
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar

            Lädt...
            X