Mit ‘modulus’ getaggte Artikel

PHP: Zeile und Spalten einer HTML-Tabelle schliessen und eine neue Zeile beginnen.

Montag, 23. März 2009

Diese Überschrift klingt ja furchtbar kompliziert und auch irgendwie sinnlos. Sehr praktisch ist dies jedoch, wenn man zum Beispiel

  1. Zeilen abwechselnd farblich hervorheben möchte
  2. Eine beliebige Anzahl an Tabellenspalten pro Zeile ausgeben möchte

Beispiel 1: Zeilen farblich hervorheben:

$str = '<table cellpadding="0" cellspacing="0" border="0">';
for($i=1; $i<=10; $i++) {
  $class = $i%2 == 0 ? 'gerade' : 'ungerade';
  $str.= '  <tr class="'.$class.'">';
  $str.= '    <td>Zeile '.$i.' - '.$class.'</td>';
  $str.= '  </tr>';
}
$str.= '</table>';
echo $str;

Wenn Ihr nun im css-Stylesheet für gerade und ungerade eine unterschiedliche Hintergrundfarbe oder ähnliches habt, so wird diese auch unterschiedlich angezeigt.
Ein Beispiel: Die Artikelauflistung auf Gamespot.at

Beispiel 2: Eine beliebige Anzahl an Spalten pro Zeile ausgeben:

$rowBreak = 3; // Wir möchten nach 3 Spalten eine neue Zeile beginnen
$str = '<table cellpadding="0" cellspacing="0" border="1">';
$str.= '  <tr>';
for($i=1; $i<=20; $i++) { // wir geben 20 x-beliebige Datensätze aus
  $str.= '    <td>Spalte '.$i.'</td>';
  if($i%$rowBreak == 0) { // nach $rowBreak Spalten eine neue Zeile beginnen
    $str.= '  </tr>
              <tr>';
  }
}
$str.= '</table>';
echo $str;