2017-01-26 3 views
-1

Ich habe Tabelle, die Daten aus der Datenbank empfängt. Wie kann ich die Farbe der Zeile ändern, wenn die Temperatur oder Luftfeuchtigkeit über oder unter den Grenzen liegt, die ich von der JSON-Datei erhalte? Beispiel: Wenn die Temperatur höher als minTemp ist, markieren Sie diese Zeile grün oder, wenn die Temperatur höher als max ist, markieren Sie diese Zeile rot. HierFarbe der Zeile in PHP Tabelle

ist ein Code:

<?php 

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$stmt = $pdo->query('SELECT dateandtime, sensor, temperature, humidity FROM temperaturedata ORDER BY dateandtime DESC '); 

$tempLimit1 = array(); 
$fp = fopen('tempLimit.json', 'r'); 
$bufor = fread($fp, filesize('tempLimit.json')); 
fclose($fp); 
$tempLimit1 = json_decode($bufor, true); 
$minTemp = $templimit1['minTemp']; 
$maxTemp = $tempLimit1['maxTemp']; 

foreach ($stmt as $row) { 
    echo '<tr>'; 
    echo '<th>' . $row['dateandtime'] . '</th>'; 
    echo '<th>' . $row['sensor'] . '</th>'; 
    echo '<th>' . $row['temperature'] . '</th>'; 
    echo '<th >' . $row['humidity'] . '</th>'; 
    echo '</tr>'; 
} 
$stmt->closeCursor(); 

?> 

Vielen Dank für alle Vorschläge.

+0

'if (etwas) doSomething' –

Antwort

1

Sie können eine Klasse verwenden und sie mit CSS formatieren.

php:

echo "<tr class='green'> 
    <td>value1</td> 
    <td>value2</td> 
</tr>; 

css:

.green td { 
    background-color: green; 
} 
0

Sie können dies wie folgt mit Inline-Styling tun:

echo '<tr '; 
if($row['temperature']>$minTemp){ echo 'style="background-color:green;"'} 
echo '>' 
Verwandte Themen