Seite 19 von 21 ErsteErste ... 56789101112131415161718192021 LetzteLetzte
Ergebnis 271 bis 285 von 361

Thema: Monitor mit Datenbank-Unterstützung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    30.08.2005
    Beiträge
    247
    Das ist alles ein bisschen doof... und
    Code:
    Wenn das Feld vom Typ 'ENUM' oder 'SET' ist, benutzen Sie bitte das Format: 'a','b','c',....
    Wann immer Sie ein Backslash ("\") oder ein einfaches Anführungszeichen ("'") verwenden,
    setzen Sie bitte ein Backslash vor das Zeichen. (z.B.: '\\xyz' or 'a\'b').
    ist das einzige, das zu dem feld noch angegeben ist...

    Also hast du keinen Weg, der mir jetzt helfen könnte? Im monitor kann ich nämlich gar nicht rumspielen. Da müsste man Buebchen bitten... ;-)

  2. #2
    Registriert seit
    12.05.2004
    Beiträge
    341
    ja ne, ich sag ja, da müsste man den quellcode von dem mysql patch ändern, das der monitor das vormat direkt vorgibt beim eintragen.
    das wird ja jetzt zZ von der db selber gemacht.

  3. #3
    Registriert seit
    12.05.2004
    Beiträge
    341
    So hab mal nachgeforscht, seit der mysql 4.1 wurde tatsächlich das
    format für den timestamp geändert.

    Hab hier schnell nen kleinen fix geschrieben, kann aber nich testen
    ob das so klappt.

    einmal bei ca. zeile 153 unter
    while...
    {

    #--------- schnipp
    // Berichtigung Zeitformat ab mySql 4.1
    if( $row["zeit"]{5} == '-' )
    {
    $row["zeit"] = substr($row["zeit"], 0, 4).substr($row["zeit"], 6, 2).substr($row["zeit"], 10, 2).substr($row["zeit"], 14, 2).substr($row["zeit"], 18, 2).substr($row["zeit"], 22, 2);
    }
    #-------------------

    und ca. zeile 290, ebenfalls direkt unter
    while...
    {

    #---------schnipp
    // Berichtigung Zeitformat ab mySql 4.1
    if( $row["zeit"]{5} == '-' )
    {
    $row["zeit"] = substr($row["zeit"], 0, 4).substr($row["zeit"], 6, 2).substr($row["zeit"], 10, 2).substr($row["zeit"], 14, 2).substr($row["zeit"], 18, 2).substr($row["zeit"], 22, 2);
    }
    #---------------

    versuch mal ob das klappt. Kann aber sein das das timestamp feld
    dieses format garnicht mehr zulässt.

  4. #4
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    So, lese die Postings erst jetzt, aber dazu kann ich mal was sagen ;-)

    Die TIMESTAMP Felder sind tatsächlich irgendwann in der (Standard-)Formatierung geändert worden. Die API gibt eigentlich immer nur Textfelder zurück. Egal ob es ein Zeit oder Zahlenwert ist. Das ist je nach Server-Version unterschiedlich. Ich meine der Wechsel kam zwischen der 4.0.x und 4.1.0.

    Die einfachste Lösung wäre da wohl, eine Formatierungsanweise ins SQL "Select * ..." einzubauen, daß den Ausgabestring immer fest formatiert (Hab ich bei mir auch so gemacht).

    Mit dem Schreiben in die DB kann ich da nix dran ändern. Denn intern speichert der MySQL Server den Wert in seinem eigenen Format ab (Sekunden ab 01.01.1970).

  5. #5
    Registriert seit
    30.08.2005
    Beiträge
    247
    @ManuelW: Ich hab die Änderung eingetragen, hat aber überhaupt keinen Effekt. Es sieht alles gleich aus :-( Vielleicht kannst du mit dem, was Buebchen gesagt hat, was anfangen?

  6. #6
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Hier ein Auszug aus der Doku von MySQL. Mit der Funktion DATE_FORMAT kann man die Ausgabe der Zeit nach eigenen Vorgaben verbindlich definieren

    DATE_FORMAT(date,format)
    Formats the date value according to the format string. The following specifiers may be used in the format string:
    Specifier Description
    %a Abbreviated weekday name (Sun..Sat)
    %b Abbreviated month name (Jan..Dec)
    %c Month, numeric (0..12)
    %D Day of the month with English suffix (0th, 1st, 2nd, 3rd, ...)
    %d Day of the month, numeric (00..31)
    %e Day of the month, numeric (0..31)
    %f Microseconds (000000..999999)
    %H Hour (00..23)
    %h Hour (01..12)
    %I Hour (01..12)
    %i Minutes, numeric (00..59)
    %j Day of year (001..366)
    %k Hour (0..23)
    %l Hour (1..12)
    %M Month name (January..December)
    %m Month, numeric (00..12)
    %p AM or PM
    %r Time, 12-hour (hh:mm:ss followed by AM or PM)
    %S Seconds (00..59)
    %s Seconds (00..59)
    %T Time, 24-hour (hh:mm:ss)
    %U Week (00..53), where Sunday is the first day of the week
    %u Week (00..53), where Monday is the first day of the week
    %V Week (01..53), where Sunday is the first day of the week; used with %X
    %v Week (01..53), where Monday is the first day of the week; used with %x
    %W Weekday name (Sunday..Saturday)
    %w Day of the week (0=Sunday..6=Saturday)
    %X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
    %x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
    %Y Year, numeric, four digits
    %y Year, numeric, two digits
    %% A literal `%'.
    All other characters are copied to the result without interpretation. The %v, %V, %x, and %X format specifiers are available as of MySQL 3.23.8. %f is available as of MySQL 4.1.1. As of MySQL 3.23, the `%' character is required before format specifier characters. In earlier versions of MySQL, `%' was optional. The reason the ranges for the month and day specifiers begin with zero is that MySQL allows incomplete dates such as '2004-00-00' to be stored as of MySQL 3.23.

    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
    -> 'Saturday October 1997'
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
    -> '22:23:00'
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
    '%D %y %a %d %m %b %j');
    -> '4th 97 Sat 04 10 Oct 277'
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
    '%H %k %I %r %T %S %w');
    -> '22 22 10 10:23:00 PM 22:23:00 00 6'
    mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
    -> '1998 52'

  7. #7
    Registriert seit
    30.08.2005
    Beiträge
    247
    Wenn ich ehrlich bin... Das hilft MIR nix weiter.

    *kleinlaut* ManuelW?

  8. #8
    Registriert seit
    12.05.2004
    Beiträge
    341
    Ach, jetzt weiss ich was du meinst, stimmt das is natürlich besser :)

    Also Kommando zurück.

    ersetze ca. Zeile 140 bis 151 damit:

    $result = mysql_query("SELECT a.num, a.adresse AS adresse_neu, a.bezeichnung AS bezeichnung_neu, a.text, DATE_FORMAT(a.zeit, '%Y%m%d%H%i%s') AS zeit, a.funktion, a.REC_TYP, a.done,
    b.adresse, b.formatierung_id, b.bezeichnung,
    c.bg_farbe, c.text_farbe, c.text_format, c.text_groesse, c.text_groesse_text,
    d.id AS org_id, d.org_name, d.org, d.alarm_count, d.last_alarm
    FROM dme a
    LEFT JOIN ric_zvei b ON b.adresse = a.adresse
    LEFT JOIN formatierung c ON c.id = b.formatierung_id
    LEFT JOIN organisation d ON d.id = b.org_id
    $show_filter
    ORDER BY a.zeit DESC") or die (mysql_error());
    while($row = mysql_fetch_array($result))
    {
    und Zeile 286 bis 295 damit

    $result = mysql_query("SELECT a.num, a.kennung AS kennung_neu, a.status AS status_neu, a.richtung, a.bezeichnung AS bezeichnung_neu, a.text, DATE_FORMAT(a.zeit, '%Y%m%d%H%i%s') AS zeit, a.done,
    b.kennung, b.bezeichnung, b.status,
    c.org_name, c.org
    FROM status a
    LEFT JOIN kfz_fms b ON b.kennung = a.kennung
    LEFT JOIN organisation c ON c.id = b.org_id
    $show_filter $show_filter_aq
    ORDER BY zeit ASC") or die (mysql_error());
    while($row = mysql_fetch_array($result))
    {
    das sollte dann bei allen klappen.

  9. #9
    Registriert seit
    30.08.2005
    Beiträge
    247
    Wunderbar! Das funktioniert... Ich bin stolz auf euch und bedanke mich sehr herzhaft!

  10. #10
    bastilein121 Gast

    komplettlösung?

    hat jemand mal eine komplettlösung? wie man das installiert und die aktuelle version...

  11. #11
    Registriert seit
    30.08.2005
    Beiträge
    247
    So weit ich weiß. ist noch keine Komplettlösung erstellt worden. Du müsstest dir aus diesem Thread den Patch 9 von Buebchen raussuchen; der ist aktuell. Eine Installationsanleitung findest du hier auch (ich glaube im Zusammenhang mit Patch 4 oder so). Dann müsstest du dir von ManuelW die alpha4 (auch hier im Forum) besorgen, die Datenbank-Tabellen erstellen mit der sql-Datei da drin und dann die alpha5_update und die 6, 7 und 8 da drüber schmieren :-) Dann noch in der config.inc.php die lokalen Daten ändern (wie Datenbankzugriff etc.) und fertig.
    Alles findest du entweder in diesem Thread, in einem Thread, der sich speziell mit dem php-Teil dieses Tools beschäftigt und in einem neuen Forum unter:
    http://board.fire-devils.org

    jhr

  12. #12
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Habe jetzt nochmal ne VMWare mit monitor aufgesetzt. Zum Thema der fünftonfolgen, die nicht erkannt werden: Werde also mal eine .wav erstellen, die 5 verschiedene Folgen beinhaltet und dann den Weckton. Da sollte ich dann das Problem mit nachstellen können, richtig ?

  13. #13
    Registriert seit
    30.08.2005
    Beiträge
    247
    *ganz erschrocken* dich gibt's noch? ;-) Danke sehr!

    Ja, das könnte funktionieren, sofern die Folgen sehr originalgetreu erstellt werden. Bei Bedarf kann ich dir aber auch per Mail oder so eben ne Aufzeichnung rüberschicken, dir mir Probleme macht...

  14. #14
    Registriert seit
    12.05.2004
    Beiträge
    341
    wow nice, dat bübchen :)

    hast dir wohl fürs neue jahr vorgenommen doch am linux code weiter zu machen ^^

    vielleicht könnte man auch noch ein paar andere sachen machen wenn du fertig bist und noch zeit/lust hast :)

  15. #15
    Registriert seit
    14.07.2002
    Beiträge
    188
    Dem schließe ich mich an, wäre doch schön wenn es weiter geht mit dem Projekt nach dieser kreativen Schaffenspause :D

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •