Jede zweite zeile anders färben
eine jede zweite zeile einer tabelle soll eine andere background-color haben.
Oft gebraucht, nie gefunden!
Bei der Darstellung einer Tabelle die per php/mysql generiert wird soll, der Ubersicht halber eine jede zweite Zeile eine andere Hintergrundfarbe erhalten.
Du brauchst noch eine Tabelle und einen CSS-style mit "class" high und low
weiter unten gibts den ganzen script!
Hier wird die Variable einfach nur mal mit "nichts" gefüllt.
PHP:1
| $y= ""; //y wird beim ersten aufruf als leer definiert |
Hier ist dann die mysql-while Schleife.
PHP:1
| while($row = mysql_fetch_assoc($sqlquery)) { |
Das hier fragt ab welchen zustand die Variable $y hat und weist der Variable $k den richtigen wert zu.
PHP:1
2
3
4
5
6
|
if ($y == 1){ //wenn $y ist 1
$k = 1; // $k auf 1
}else{ // oder, $y ist schon 1
$k = 0; // $k auf 0
$y = 0;} // $y auf 0 |
Hier wird der Wert der Variablen geprüft und die Variable $css_code mit dem richtigen inhalt befüllt.
PHP:1
2
3
4
5
6
7
|
if ($k == 0){ //wenn $k ist 0
$css_code = "high"; //css_code auf "high"
$y = 1; //$y auf 1
}else{ // oder, $k ist 1
$css_code = "low"; // $css_code auf "low"
$y = 0;} // $y auf 0 |
im prinzip ein einfaches
setzen, abrfagen,ausgeben, rücksetzen, abfragen, ausgeben, setzen, abfragen usw
PHP:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
tr.high{/*zeile 1*/
font-size:13px;
background-color:#E8E8E8;
}
tr.low{/*zeile 2*/
font-size:13px;
background-color:#DFDFDF;
}
$y= "";
while($row = mysql_fetch_assoc($sqlquery)) {
if ($y == 1){$k = 1;}else{$k = 0; $y = 0;}
if ($k == 0){$css_code= "high"; $y = 1;}else{$css_code= "low"; $y = 0;}
$fileList .= '<tr class="'. $css_code.'">
<td>'.$row['ID'].'</td><td>'.$row['datum'].'</td>
<td>'.$row['bemerkung'].'</td></tr>'."\n";
} |
So, das wars. Hoffe das es euch mal nützen wird.
mfg, tomig
http:\\www.tomig.at
Dieses Tutorial wurde von tomig am 27.06.2006 verfasst.
Kommentare
sim4000 meinte am 11.11.2007 um 20:14 Uhr: [code] for($i=0; $i<$thread[\'numRows\']; $i++) {
echo \" |
\";\' echo \"
\";
}[/code]
So ists noch einfacher. :wink:boandlkramer meinte am 08.01.2007 um 18:37 Uhr: Wieso umständlich wenn man es auch einfach haben kann...
[code]$i = 0;
while($row = mysql_fetch_assoc($sqlquery))
{
if($i % 2) echo \' |
\';
else echo \'
\';
echo \'| \'.$row[\'ID\'].\' | \'.$row[\'datum\'].\' | \'.$row[\'bemerkung\'].\' |
\'.\"\\n\";
$i++;
}[/code]
Damit entfällt das ständige \"setzen, abfragen, ausgeben, rücksetzen, abfragen, ausgeben, setzen, abfragen usw\" und man kann $i auch gleich noch als Zeilennummer verwenden.