Wie kann ich Werte in einer Tabelle rot anzeigen falls diese kleiner als 100.00 sind?

Torsten Baudisch

Grünschnabel
Hallo,

ich habe eine Simple MYSQL Ausgabe geschrieben welche zur Auswertung ältlicher Speedtests dienen soll.
Zwecks der besseren Übersicht möchte ich alle Werte unter 100.00 rot anzeigen lassen.

Code:
while($row = mysql_fetch_object($result))
{
  echo "<tr>";
  echo "<td>". $row->datum . "</td>";
  $download = $row->download;
  if ($download < 100.00 ) { $color = "#FF0000"; }
  echo "<td align='right'><font color='".$color."'>". $row->download . "</font></td>";
  echo "<td align='right'>". $row->upload . "</td>";
  echo "</tr>";
}

Die dazugehörige DB ist wie folgt aufgebaut:
db.png

Wie jedoch zu sehen ist werden alle Werte rot angezeigt selbst wenn dieser 9.87 lautet.



Danke für jeden Hinweiß darüber was ich falsch mache.
 
Hi
Du setzt die Variable color bei jedem Eintrag unter 100 auf rot aber niemals wieder auf schwarz, hierdurch bleibt die Farbe immer auf rot, da er sagt beim ersten Eintrag download ist kleiner 100 --> hmm ja color=red; 2. er Eintrag hmm Wert ist über 100 hmm Ok Farbe nicht setzen (bleibt auf rot)

Entweder fügst du ein else ein oder du veränderst dein if ein wenig :D

Lg hendl
 
Ich würde es mit CSS machen, standardmäßig eine Klasse "color1" für die Standardfarbe, wenn $download < 100 dann die Klasse "color2":

PHP:
while($row = mysql_fetch_object($result))
{
$sCSSClass = 'color1';
  echo "<tr>";
  echo "<td>". $row->datum . "</td>";
  $download = $row->download;
  if ($download < 100.00 ) { $sCSSCLass = 'color2' }
  echo "<td align='right'><span class='{$sCSSCLass}'>". $row->download . "</span></td>";
  echo "<td align='right'>". $row->upload . "</td>";
  echo "</tr>";
}
 
Danke!

Wie beknallert war ich denn ^^ klar wenn ich das als Variable Setze und der erste Wert unter hundert ist macht der alles in Rot.
Das mit CSS ist natürlich noch ne ecke eleganter ^^
1000000 mal DANKE
 
Zurück