# foreach und html tabelle



## starfoxfs (14. Februar 2008)

Hallo zusammen,

Kleines Problemchen hab mehrere foreach schleifen untereinander und möchte das die Tabelle so aussieht:


```
<tr>
  <td align="right">Pos.</td>
  <td align="right">Teilenummer</td>
  <td align="left">Teilebezeichnung</td>
  <td align="right">Menge</td>
  <td align="right">Preis (Euro)</td>
  <td align="center">Warenkorb</td>
  </tr>
```

So schauen die schleifen aus


```
foreach($position as $key => $val) {
echo "<td align='right'>" .$val. "</td>";} 
foreach($teilenummer as $key => $val) {
echo "<td align='right'>" .$val. "</td>";}
foreach($bezeichnung as $key => $val) {
echo "<td align='left'>" .$val. "</td>";}
foreach($standartmenge as $key => $val) {
echo "<td align='right'>" .$val. "</td>";}
foreach($preis as $key => $val) {
echo "<td align='right'>" .round($val, 2). "</td>";}
```

Fehlt mir noch das <tr> und </tr>


----------



## Gumbo (14. Februar 2008)

Da HTML-Tabellen aus Zeilen bestehen, die wiederum die einzelnen Zellen enthalten, müsste also bei jedem Schleifendurchlauf eine Zeile angefügt werden. Am besten geht das, wenn sich alle Daten bereits in einem Array befinden, das ähnlich der Struktur der späteren Ausgabe gleicht.
Wenn das aber nicht möglich ist, wäre in deinem Fall auch Folgendes möglich:
	
	
	



```
foreach( $position as $key => $val ) {
	echo '<tr>';
	echo '<td align="right">'.$val.'</td>';
	echo '<td align="right">'.$teilenummer[$key].'</td>';
	echo '<td align="left">'.$bezeichnung[$key].'</td>';
	echo '<td align="right">'.$standartmenge[$key].'</td>';
	echo '<td align="right">'.round($preis[$key], 2).'</td>';
	echo '</tr>';
}
```
Voraussetzung ist dafür, dass alle Arrays dieselben Schlüssel haben.

PS: Standard wird übrigens mit „d“ geschrieben.


----------



## starfoxfs (14. Februar 2008)

Jap funktioniert vielen Dank


----------

