MySql-Datenbankanbindung über Dateiexport ??

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

Klaus

MySql-Datenbankanbindung über Dateiexport ??

Beitrag von Klaus »

Hallo ihr Mitstreiter,

ich will WSWin automatisch laufen lassen (Webseiten Erstellung) allerdings soll auch pro Tag eine Textdatei (Komma oder Simikolon separiert) für alle Werte ausgegeben werden (jeden Tag eine mit anderem Namen) um alle Werte in eine MYSQL-Datenbank einlesen zu können zwecks weiterer Auswertung.
Hat jemand eine Idee oder vielleicht sogar ein Template??
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo Kaus,
wie wäre es mit dem Tagestemplate template_d.txt (entsprechend angepasst)?
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo Klaus,
hat sich dein Problem erledigt oder kommst du mit meinem Hinweis nicht klar?
Klaus

Beitrag von Klaus »

hallo werner,
ich hoffe ich komme klar, geht allerdings nur am wochenende
danke!!!!
othi

Beitrag von othi »

Hallo

Hab eine fertige MYSQL Schnittstelle
Schau mal unter
http://wetter.kremstalnet.at/wswindb/wswindb.zip
Läuft bei mir schon 1/2 Jahr ohne Probleme. Ist aber noch Beta da ich mit dem AWEKAS Projekt zur Zeit ausgelastet bin....

Gruß Othi
Klaus

Beitrag von Klaus »

:D Hallo Othi,
leider funzt die Sache bei mir nicht, da offensichtlich der letzte Sensor (Winchill) nicht richtig erfasst wird. Nach dem Anlegen der Datenbank (/i) wird ein Feldfehler ausgegeben. Den korrigiere ich mit /r und NEU, somit habe ich dann aber 2x Windchill in der Datenbank. Beim Einlesen (/vf) wird dann das letzte! Feld Windchill gefüllt.
Das wäre kein Problem, allerdings stimmt bei mir auch das Einlesen des Datums nicht. Das erste Feld "timestamp" zeigt völlig merkwürdige Zahlenwerte ohne Datumsbezug.
Dein Programm und den Ansatz finde ich allerdings total super.
Frage: was kann man machen ??
:oops:
othi

Beitrag von othi »

Hallo

Merkwürdig ist gar nichts :wink:
Timestamp ist der UNIX Timestamp:
mehr unter http://at.php.net/mktime

Nach dem läst sich einfach besser sortieren :)

Gruß Othmar

PS: Poste mal bitte den genauen Fehler
rolsch

Beitrag von rolsch »

Othi hat geschrieben:Hallo

Merkwürdig ist gar nichts :wink:
Timestamp ist der UNIX Timestamp:
mehr unter http://at.php.net/mktime

Nach dem läst sich einfach besser sortieren :)
@ Othi

Kannst du mir mal einen Code-Schnipsel posten,
mit dem ich einen bestimmten Zeitraum selektieren kann
und auch einen lesbaren Output bekomme?

Beispiel: alle Messdaten vom 01.03.2004

- habe Probleme mit dem UNIX Timestamp
Joe

Beitrag von Joe »

Hallo Othi,
ich würde gerne Deine Schnittstelle wswindb.php benutzen, habe aber folgendes problem:

nachdem ich mit /i die Datenbank und Tabellen angelegt habe, will das programm immer die Bezeichnung Windchill hinzufügen mit /r (neu).

das will er aber immer wieder (nachher hatte ich 25 datensätze in der tabelle bezeichnugen ( 6x Windchill).

was mache ich falsch ??

ich habe meine Seiten mit phpNuke gebaut, und würde gerne einige abfragen aus einer SQL-Datenbank aufbauen.

danke
othi

Beitrag von othi »

Hallo

kurzes Workaround:

Schau dir bitte das Auslesefile an - es dar die Datenstruktur nicht verändern (mittendrunter mehrere Werte..)

1.) Anlegen mit dem Optionsschalter /i
2.) jeder weitere Aufruf OHNE zusätzlichen Optionsschalter

MFG
Othi
Joe

Beitrag von Joe »

hallo,
danke für die antwort, die datei ws_newdata.csv wird ja von wswin erstellt.
C:\apache2\htdocs\intranet>php -q wswindb.php

Sensor Temp. 4 nicht in Datenbank gefunden
Option /r fuer Fehlerbehandlung verwenden

C:\apache2\htdocs\intranet>
das wird beim aufrufen angezeigt. es ist nicht immer der Temp. 4 Sensor der angezeigt wird.

Wenn ich mit /r den Sensor in der Datenbank angelegt habe, kommt immer wieder Windchill :?: den er anlegen will. pro versuch ein eintrag Windchill.
othi

Beitrag von othi »

Hallo

schick mir bitte mal deine csv Datei zur Kontrolle.

Dann mach noch bitte folgendes:
1.) Dosbox bzw shell (linux)
2.) gib ein: mysql
3.) gib ein: use wetter
wenn deine db nicht wetter heiß dann deinen Namen
4.) gib ein: select * from bezeichnung;
Achtung Strichpunkt nicht vergessen

Bitte Poste die Ausgabe oder schick sie mir per Mail

Gruß Othi
Joe

Beitrag von Joe »

hi othi,
hier die ausgabe

Code: Alles auswählen

mysql> use wswetter
Database changed
mysql> select * from bezeichnung;
+----------+--------------+---------+
| bez      | name         | einheit |
+----------+--------------+---------+
| sensor1  | Temp. I.     | ░C      |
| sensor2  | Temp.        | ░C      |
| sensor3  | Temp. B      | ░C      |
| sensor4  | Bodentemp.   | ░C      |
| sensor5  | T-Studio     | ░C      |
| sensor6  | Feuchte I.   | %       |
| sensor7  | Feuchte      | %       |
| sensor8  | Feuchte B    | %       |
| sensor9  | F-Studio     | %       |
| sensor10 | Luftdruck    | hPa     |
| sensor11 | Regen        | l/m▓    |
| sensor12 | Wind         | km/h    |
| sensor13 | Richtung     | ░       |
| sensor14 | Sonnen-Zeit  | min     |
| sensor15 | Helligkeit   | klux    |
| sensor16 | Regenzeit    | min     |
| sensor17 | Solar        | W/m▓    |
| sensor18 | Taupunkt     | ░C      |
| sensor19 | Windchill    | ░C      |
| sensor20 | Temp. 4      | ░C      |
| sensor21 | Sonnenschein | min     |
| sensor22 | Windchill    | ░C      |
| sensor23 | Windchill    | ░C      |
+----------+--------------+---------+
23 rows in set (0.00 sec)
die csv sende ich per email.

danke schonmal.
othi

Beitrag von othi »

servus da läuft einiges im Eck ...

Du hast in der DB 23 verschiede Werte in der CSV aber nur 17
Zum Beisile gibt es in der CSV den Sensor T-Studio nicht.
Wenn du ihn umbenannt hast muss dich das script aufgefordert haben die bezeichnung zu ändern. Hast du da die alte Bezeichnung nicht angegeben ?

Bitte kontrolliere in der PHP.ini den Eintrag:
register_argc_argv = on
sonst funktioniert die Übergabe nicht !

Ruf bitte mal php -q wswindb.php /h
auf kommt die Hilfe ?

und was tut sich bei
php -q wswindb.php /v

CSV Datei ist OK - hab ich geprüft - konsistenz in Ordnung.
Hast du schon viele Daten eingelesen oder sind das die ersten Gehversuche :wink: - wenn ja - nonnen wir die DB löschen und nochmals alles neu schreiben ?
Über Daten exportieren kannkann man auch frühere werte in die DB schreiben !

Gruß Othi
Joe

Beitrag von Joe »

hallo othi,

zu 1)

Code: Alles auswählen

; This directive tells PHP whether to declare the argv&argc variables (that
; would contain the GET information).  If you don't use these variables, you
; should turn it off for increased performance.
register_argc_argv = On
zu 2)

Code: Alles auswählen

*****************************************
*   WSWINDB V1.0 by Othmar Gattringer   *
*                                       *
*      http://wetter.kremstalnet.at     *
*****************************************

Befehl: php -q wswindb.pbp [/option]

 /i - Datenbank wird angelegt und Tabellen werden erstellt
 /t - Tabellen werden erstellt
 /r - Sensorbezeichung umbenennen oder neuen Sensor anlegen
 /v - Uebermittlungsprotokollierung einschalten
 /f - Schnittstellendatei nach Uebertrag in Datenbank nicht loeschen
 /u - Update Modus - vorhandene Daten werden in Datenbank ueberschrieben
 /h - Hilfe

 Parameter koennen kombiniert werden (php -q wswindb.pbp /vf)
zu 3)

Code: Alles auswählen

C:\apache2\htdocs\intranet>php -q wswindb.php /v

Sensor Windchill
 nicht in Datenbank gefunden
 Option /r fuer Fehlerbehandlung verwenden
ich kann auch die db nochmal löschen, wenn du meinst es brings was ??
Antworten