Bestimmten Wert aus mysql Abfrage umwandeln.


Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

codo

Grünschnabel
PHP:
<?php


include('testconnection.php');
$abfrage = "SELECT * FROM analog_data ORDER BY datum DESC LIMIT 500";

    
echo "<table>
<thead>
<tr>
    <th id='1000'>Batterie Spannung</th>
    <th id='1001'>Max PV gestern</th>
    <th>Status</th>
    <th>Last Ausgang</th>
    <th>Temperatur</th>
    <th>Heizung an/aus</th>
    <th>LED Last Strom</th>
    <th>Batterie Strom</th>
    <th>Panel Spannung</th>
    <th>Panel Leistung</th>
    <th>Max PV heute</th>
    <th>Error code</th>
    <th>Real Time Clock</th>
    <th>Datum</th>
    <th>IMEI</th>
    <th>IMSI</th>       
    <th>Firmware</th>
    <th>Ertrag Total</th>
    <th>Tagesertrag Heute</th>
    <th>Tagesertrag Gestern</th>
    <th>Software Version</th>
</tr>
</thead>
";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_array($ergebnis))

    
{

echo "<tbody>";


    echo "<tr>";
    echo "<td id='1000'>" . $row[v] / 100 . "<a> V</a></td>";
    echo "<td id='1001'>" . $row[h23] . "<a> W</a></td>";
    echo "<td>" . $row[sta] . "</td>";
    echo "<td>" . $row[last] . "</td>";
    echo "<td>" . $row[temp] / 100 . "<a> C</a></td>";
    echo "<td>" . $row[h] . "</td>";
    echo "<td>" . $row[il] / 10 . "<a> A</a></td>";;
    echo "<td>" . $row[i] / 10 . "<a> A</a></td>";;
    echo "<td>" . $row[vpv] / 100 . "</td>";
    echo "<td>" . $row[ppv] . "</td>";
    echo "<td>" . $row[h21] . "<a> W</a></td>";
    echo "<td>" . $row[err] . "</td>";
    echo "<td>" . $row[ts] . "</td>";
    echo "<td>" . $row[datum] . "</td>";
    echo "<td>" . $row[imei] . "</td>";
    echo "<td>" . $row[imsi] . "</td>";
    echo "<td>" . $row[fw] / 100 . "</td>";
    echo "<td>" . $row[h19] / 100 . "<a> kWh</a></td>";
    echo "<td>" . $row[h20] * 10 . "<a> Wh</a></td>";
    echo "<td>" . $row[h22] * 10 . "<a> Wh</a></td>";
    echo "<td>" . $row[swv] / 100 . "</td>";
    
echo "</tr></tbody>";
}
"</table>"

?>
Hallo,
ICh gebs gleich zu dass ich Anfänger bin und meine Erfolge sehr auf trial und error basieren.
So nun zu meiner Fragestelllung.
Ich speichere Daten aus einem Spannungswandler in einer mysql Datenbank und lasse mir diese auf eine hompe in einer Tabelle anzeigen. Das klappt super. Nun mein Problem. Manchmal fällt der Temperaturfühler aus und es wird der Wert -9999 angezeigt. ich hätte nun gerne dass dieser Wert durch z.B n/a ersetzt wird. Habe auch mit str_replace herumexperimentiert bekomme aber keine zufriedenstellende Ergebnisse. Wo im Code müsste ich da ansetzen?
Danke sehr...
 

codo

Grünschnabel
Mein Ansatz war folgender:
Code in Zeile 15 erfolglos ergänzt:
Code:
echo "<td>" . $row[temp] / 100 ; $row[temp] = "-9999"; str_replace ("-9999", "na", $row[temp]) . "<a> C</a></td>";
 

Sempervivum

Erfahrenes Mitglied
Versuche es so:
Code:
    echo "<td>" . $row[last] . "</td>";

    if ($row[temp] == '-9999') $temp = 'n/a';
    else $temp = $row[temp] / 100;
    echo "<td>" . $temp . "<a> C</a></td>";

    echo "<td>" . $row[h] . "</td>";
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…