Tabellenfarbe abwechselnd ändern

in PHP · Autor: Sebastian Fuchs

Wenn man in PHP mit dynamischen Inhalten arbeitet und beispielsweise MySQL Datenbanken verwendet, kann es leicht unübersichtlich werden.
Damit das nicht passiert, kann man Übersichten etc. in Tabellen ausgeben und jede zweite Zeile anders einfärben.
So bewahrt man den Überblick und hat zudem noch ein ansprechendes Layout.
Kommen wir jetzt aber endlich zum Quelltext. Das Prinzip was dahinter steckt, ist garnicht kompliziert. Alles was was wir für die Umsetzung benötigen, ist eine Schleife und eine if-Abfrage.
Vorweg einfach einmal der Quelltext:
<?php

$hintergrund = '#C0C0C0';

echo '<table>';
for($i=0; $i<10; $i++)
{
  if($hintergrund == '#A8A8A8')
  {
    $hintergrund = '#C0C0C0';
  }
  else
  {
    $hintergrund = '#A8A8A8';
  }

echo '<tr>',
       '<td style="background-color: '.$hintergrund.'">',
       '</td>',
     '</tr>';
}
echo '</table>';

?>
Als erstes wird ein Anfangswert für $hintergrund definiert. In meinem Beispiel ist das ein heller Grauton.
Danach wird ein Anfangs-Tag für die Tabelle ausgeben. Nun kommen wir zum eigentlichen Trick. Es wird eine Schleife erstellt, die mehrere Spalten ausgibt. Bei einer MySQL Abfrage können natürlich die entsprechenden Werte eingefügt werden.
Danach wird mit einer if-Abfrage die Hintergrundfarbe für die aktuelle Spalte festgelegt. Ist die Variable für die Hintergrundfarbe zurzeit #A8A8A8 (dunkler Grauton), so wird die Variable auf den hellen Grauton umgeschrieben.
Andernfalls wird die Hintergrundfarbe in den dunkleren Grauton geändert.
Anschließend kommt dann die Ausgabe der Tabellenspalte mit der entsprechenden Hintergrundfarbe. Beim nächsten Durchlauf der Schleife würde dann aufgrund der if-Abfrage zu Beginn wieder die andere Hintergrundfarbe angewendet.
Ist die Schleife fertig durchgelaufen, wird dann noch ein abschließender Tabellentag ausgeben, um die Tabelle zu komplettieren.
Das Ergebnis ist nun eine Tabelle, in der nach jeder Spalte die Farbe gewechselt wird. Dieser kleine Trick ist nicht zu unterschätzen, da er die Übersichtlichkeit von diversen Ausgaben enorm steigern kann.
Natürlich könnte man anstatt der Hintergrundfarbe auch andere Attribute wie die Textfarbe etc. ändern, aber das wäre ja nur eine geringfügige Abänderung in der Ausgabe.

· zurück zu "PHP Tutorials"

Lesezeichen

Diese Seite zu Mister Wong hinzufügen Diese Seite zu del.icio.us hinzufügen Diese Seite bei YiGG hinzufügen Diese Seite bei LinkARENA hinzufügen Diese Seite zu alltagz hinzufügen Diese Seite bei iGoogle hinzufügen