Sandra G.: Ausgabe von HTML Tabellenspalten vereinfachen

Hallo,

ich lese mittel PHP und SQL Datensätze aus einer MySQL Datenbank aus.

Diese Datensätze sollen in einer Tabelle mit 2 Spalten ausgegeben werden.

d.h.: bei jedem 1. Datensatz soll ein <TR> aufgehen und bei jedem 2. Datensatz soll ein </TR> zugehen.

bspl.:

<tr>
   <td>blabla</td>
   <td>uiuiui</td>
</tr>
<tr>
   <td>blabla</td>
   <td>uiuiui</td>
</tr>
<tr>
   <td>blabla</td>
   <td>uiuiui</td>
</tr>

Ich hab das Ganze mittels eines Counters, welcher bei jdem 2. Durchgang der Schleife zurückgesetzt wird, gelöst.
Gibt es hier noch eine elegantere Methode? Mir kommt das ziemlich umständlich vor:

for ($i = 0; $fetch = mysql_fetch_array($ergebnis); $i++) {

if ($i == 0) {
    echo "<tr>";
  }

echo "<td>".$fetch["name"]."</td>";

// zurücksetzen des Zählers
  if ($i == 1) {
    echo "</tr>";
    $i = -1;
  }

}

Vielen Dank für Euere Hilfe

Sandy

  1. Hallo Sandra,

    Gibt es hier noch eine elegantere Methode?

    Ja. Prüfe, ob Dein Zähler durch 2 Teilbar ist oder nicht und gebe dann entsprechend <tr> oder </tr> aus.

    $i_ist_durch_zwei_teilbar = ($i % 2) == 0;

    (zur Erklärung, weil das etwas komisch aussieht: das Ergebnis des Vergleichs ($i %2) == 0, also entweder true oder false, wird der Variable $i_ist_durch_zwei_teilbar zugewiesen)

    oder auch:

    if (($i % 2) == 0) {
      // $i ist durch zwei Teilbar
    }

    http://de3.php.net/manual/de/language.operators.arithmetic.php

    Christian

    --
    Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.