foreach und html tabelle

  • Themenstarter Themenstarter starfoxfs
  • Beginndatum Beginndatum
S

starfoxfs

Hallo zusammen,

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

PHP:
<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

PHP:
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>
 
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:
PHP:
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.
 
Zurück