Langzeitwerte in mysql speichern
Verfasst: Mi 26. Mai 2010, 19:49
Bei unserem Regionalwetter-SA gibt es eine Seite mit Langzeitwerten.
Dazu werden die txt-Dateien aller Teilnehmer ausgelesen, verglichen und der jeweils
größte oder kleinste Eintrag bei einem Messwert in eine Datenbank gespeichert.
Dies funktioniert auch prinzipiell.
Allerdings kommt es nach Tagen oder Wochen schon mal vor, das dann ein nicht gewollter Wert auftaucht.
Also z. Bsp. war das Temperaturminimum + 5cm am 05.01.2010 mit -18,3 °C.
Heute steht auf ein mal wieder ein Wert von -1,5 °C drin.
Hauptsächlich dieser Wert und das Temperaturmaximum betrifft es.
Was kann dieses auftauchen von "falschen" Messwerten verursachen ?
Da ein ordentlicher Wert auftaucht gehe ich nicht davon aus das Blödsinn in der txt steht.
Was schon mal vorkommt, das ein Leerzeichen davor ist (das habe ich schon beobachtet).
Wird das durch php dann gleich fehlinterpretiert, also kann ein Leerzeichen die <> - Abfrage kaputt machen ?
Ich versuche mal auszugsweise einen betreffenden Teil hier rein zu bringen, hoffe das es erst mal ein wenig verständlich wird:
$tempb und $standort sind Werte aus der gesendeten txt-Datei, die erste if-Anweisung wird als Schleife für alle txt abgearbeitet.
Dazu werden die txt-Dateien aller Teilnehmer ausgelesen, verglichen und der jeweils
größte oder kleinste Eintrag bei einem Messwert in eine Datenbank gespeichert.
Dies funktioniert auch prinzipiell.
Allerdings kommt es nach Tagen oder Wochen schon mal vor, das dann ein nicht gewollter Wert auftaucht.
Also z. Bsp. war das Temperaturminimum + 5cm am 05.01.2010 mit -18,3 °C.
Heute steht auf ein mal wieder ein Wert von -1,5 °C drin.
Hauptsächlich dieser Wert und das Temperaturmaximum betrifft es.
Was kann dieses auftauchen von "falschen" Messwerten verursachen ?
Da ein ordentlicher Wert auftaucht gehe ich nicht davon aus das Blödsinn in der txt steht.
Was schon mal vorkommt, das ein Leerzeichen davor ist (das habe ich schon beobachtet).
Wird das durch php dann gleich fehlinterpretiert, also kann ein Leerzeichen die <> - Abfrage kaputt machen ?
Ich versuche mal auszugsweise einen betreffenden Teil hier rein zu bringen, hoffe das es erst mal ein wenig verständlich wird:
$tempb und $standort sind Werte aus der gesendeten txt-Datei, die erste if-Anweisung wird als Schleife für alle txt abgearbeitet.
Code: Alles auswählen
.
.
.
$temp5 = 80;
$orttemp5 = "";
if ($temp5 > $tempb and $tempb != "n.v." and $tempb != "n.V." and $tempb != "--" and $tempb != "falsch")
{
$temp5 = $tempb;
$orttemp5 = $standort;
$tmin5datum = $datum;
$tmin5uhr = $uhrzeit;
}
//Tmin5cm
$abfrage = "SELECT wert FROM tmin5cm";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{$tmin5cm_db = $row->wert;}
.
.
.
if ($tmin5cm_db > $temp5)
{
$aendern = "UPDATE tmin5cm Set datum = '$tmin5datum', zeit = '$tmin5uhr', wert = '$temp5', station = '$orttemp5'";
$update = mysql_query($aendern);
}
.
.
.