Vinzenz Mai: Tabellenzeilen in unterschiedlichen Farben in PHP

Beitrag lesen

Hallo,

Konkret geht das so: Man nehme eine Variable, die man bei der Ausgabe einer Zeile hochzählt. Beim Teilen durch zwei entsteht ein Rest oder keiner. Davon abhängig setzt man nun die hell- oder dunkel-Eigenschaft.

Das kann dann so aussehen:

$i=0;

[START] Ausgabe
class="$i%1 === 1 ? hell : dunkel"
$i++
[ENDE] Ausgabe

Nein, nicht so. Auch wenn ich nicht verstehe, was das zwischen [START] Ausgabe und [ENDE] Ausgabe genau sein soll, sind da viel zu viele Fehler drin:

  • wie dedlfix schrieb, ist Modulo Zwei zu rechnen, nicht Modulo 1,
  • Zeichenketten sind in Anführungszeichen zu setzen,
  • der normale Vergleichsoperator ist völlig ausreichend (Notice :-) )
  
// Initialisiere den Zähler für die Zeilen  
// Anfangswert: 1, damit Code leichter verständlich.  
$zeile = 1;  
  
// [...]  
  
// Ermittle die zuzuweisende Klasse  
// hell und dunkel sind keine gute Klassennamen.  
$rowclass = ($zeile % 2 == 0) ? 'gerade' : 'ungerade';  
  
// Erhöhe den Zeilenzähler  
// Anmerkung: Ich weiß, dass man dies als Postinkrement in die vorherige  
//            Codezeile packen könnte. Ich halte dies für eine wenig  
//            verständliche Mikrooptimierung, die ich bewußt vermeide,  
//            um lesbareren und damit wartbareren Code zu schreiben.  
$zeile++;  
  
// tu was mit dem Klassennamen  
// [...]  

Freundliche Grüße

Vinzenz