Farben für jede <table> ändern

Willy

Gesperrt
Ihr seht doch alle am rechten rand dieser Website, dass sich dort eine ShoutBOX befindet... Jeder Beitrag darin, (genau wie im Forum auch!) wird durch die Hintergrundfarbe vom anderen abgehoben.
Wenn ich also mit while($datensatz=mysql_fetch_array($result)) { ausgabe } arbeite, wie kann ich dann diesen Effekt nachahmen? Mit einer For-Schleife? :rolleyes:
 
-

Als erstes erstellst du 2 verschiedene CSS KLassen( kannst die Formatierung der Tabelle natürlich auch ohne Klassen machen).

Beim Ausgeben der Daten lässt du eine Variable mitzählen. Diese wird bei jeder Ausgabe einer Tabelle überprüft, ob sie gerade oder ungerade ist. Dementsprechend wird dann die unterschiedlich formatierte Tabelle ausgegeben.

PHP:
$i = 0;
while($datensatz=mysql_fetch_array($result)) 
 {
  if( ($i) % 2) == 0 )
  //Ausgabe der Tabelle mit Hintergrund 1.
 else
  //Ausgabe der Tabelle mit Hintergrund 2.
 $i++;
 }
Edit: Herrlich, wenn man so schnell tippen kann :) ²Fatility
 
Zuletzt bearbeitet:
Hat eigentlich nichts mit PHP zu tun :p

PHP:
$strSQL = "SELECT * FROM tbl"
$result = mysql_query ( $strSQL, $conn );

<table>
while ( $rows = mysql_fetch_array ( $result ) ) {
  <tr>
    <td>...</td>
  </tr>
}
</table>

Was da passiert ist dir sicherlich klar. Am besten du benutzt jetzt ein Array mit zwei oder drei oder mehr Farbwerten und setzt das dann ein.

PHP:
$strSQL = "SELECT * FROM tbl"
$result = mysql_query ( $strSQL, $conn );

$farbe[0] = "#cccccc";
$farbe[1] = "#fcfcfc";
$i=0;

<table>
while ( $rows = mysql_fetch_array ( $result ) ) {
  $colorindex = $i % 2;
  <tr>
    <td bgcolor="$farbe[$colorindex]">...</td>
  </tr>
  $i++;
}
</table>

Was passiert da jetzt wohl? Ganz einfach. $colorindex ergibt immer 1 oder 0. $i % 2 gibt dir bei durch 2 teilbaren Zahlen immer eine 0 zurück. Und das ist dann gleich der Index Wert für dein Array.
 

Neue Beiträge

Zurück