Ausgabe von HTML Tabellenspalten vereinfachen
Sandra G.
- php
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
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