Hallo,
wie kann man das Ergebnis einer DB-Abfrage, so in einer html-Tabelle ausgeben lassen, das zuerst immer die ganzen ergebnisse einer Spalte ausgegeben werden, bevor es zur nächsten Spalte geht.
Ich zeige es am besten mal an einem Beispiel:
wenn ich eine DB-Abfrage habe mit 10 Ergebnissen, und diese in einer html-tabelle ausgeben will, macht man das ja z.B. so:
PHP-Code:
// Vorher erfolgt natürlich noch die übliche DB-Abfrage
<table width="990" border="1">
<?php
while($row = mysql_fetch_array($result)) { ?>
<tr>
<td width="50%" ><?php echo $row['Name']; ?></td>
<td width="50%" ><?php echo $row['Strasse']; ?></td>
</tr>
<?php } ?>
</table>
Das würde dann später so aussehen:
| NAME | STRASSE |
Sarah | Meier-Str. 40 |
Sonja | Weinberg-Str. 100 |
....
Nur was muss man machen wenn man so eine Ausgabe will ?
NAME | Sarah | Sonja |
STRASSE | Meier-Str. 40 | Weinbert-Str. 100 |
Meine Lösung ist das man das Ergebnis in der while-Schleife noch mal extra in ein Array speichert z.B. so :
PHP-Code:
<?php
while($row = mysql_fetch_array($result)) {
$name[] = $row['Name'];
$strasse[] = $row['Strasse'];
}
// später kann man dann so auf die einzelnen Ergebnisse zugreifen
echo $strasse[1]; // gibt z.B. Weinberg-Str. 100 aus
?>
um das dann später in der html-Tabelle anzuzeigen, kann man das dann so machen:
PHP-Code:
<table width="200" border="1">
<tr>
<td><?php echo $name[0]; ?></td>
<td><?php echo $name[1]; ?></td>
</tr>
<tr>
<td><?php echo $strasse[0]; ?></td>
<td><?php echo $strasse[1]; ?></td>
</tr>
</table>
Nur irgendwie sieht diese Lösung komisch aus bzw. funktioniert nur denke ich, wenn man vorher weiss, wieviel Ergebnisse man bekommt ?
Was meint ihr
Vielen Dank im voraus und einen gutes neues Jahr