kostenloser Webspace werbefrei: lima-city


Zeitstempel beim Einlesen aus mysql in json umwandeln

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    chst

    chst hat kostenlosen Webspace.

    Hallo liebe Leute,

    ich bastle an einer Auswertung einer mysql-Datenbank (3 Spalten: 1x Zeitstempel YYYY-MM-DD HH:MM:SS sowie zwei Integer) und lese die Daten bereits mit folgendem Code in JSON ein:
    $sql = "SELECT * FROM temp ORDER BY timestamp";
    $query = mysql_query($sql) or die("Anfrage nicht erfolgreich");
    $output = array();
    
    while ( $row = mysql_fetch_assoc($query) )
    {
      $output[] = $row;
    }    
    
    echo json_encode($output);


    Die Ausgabe habe ich mittels http://jsonlint.com/ kontrolliert - sie passt.

    Nun habe ich das Problem, dass ich für die weitere Verarbeitung der Daten in Java statt dem gut lesbaren Zeitstempel auf Unix-Time umrechnen muss. Für einzelne Werte könnte das wie folgt funktionieren:
    $javazeit = mktime($row['timestamp'])*1000;


    Leider fehlt mir eine Idee, wie ich diese Umrechnung einbauen muss, damit die json-Ausgabe dann auch wirklich passt.

    Könnt ihr mir vielleicht weiterhelfen?

    Vielen Dank!

    Liebe Grüße,
    Christoph

    Beitrag zuletzt geändert: 5.8.2016 20:23:31 von chst
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du kannst die Umrechnung in den Unix-Timestamp bereits von der Datenbank ausführen lassen.

    Deine Abfrage sieht momentan so aus:
    SELECT * FROM temp ORDER BY timestamp
    Zuerst musst du den Stern nach dem Wort SELECT durch eine mit Komma getrennte Aufzählung aller Spaltennamen ersetzen.
    Dann kannst du anstatt dem Spaltennamen
    timestamp
    einfach
    unix_timestamp(`timestamp`)
    einfügen. So errechnet dir die DB automatisch den benötigten Wert.
  4. Autor dieses Themas

    chst

    chst hat kostenlosen Webspace.

    Super, herzlichen Dank für diese Antwort, das hilft mir sehr!!

    Ich habe das json-File nun unter https://chst.lima-city.de/highcharts5/json.php "erfolgreich" erstellt. Leider erwarten http://www.highcharts.com/demo zwar derartige json-Files - laut der Dokumentation sollen sie aber wie folgt formatiert sein: https://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?.
    Weißt du vielleicht, ob das ein typisches Format ist, oder ob es einen ähnlichen Befehl wie
    echo json_encode($output, JSON_NUMERIC_CHECK);
    für die Erstellung einer Ausgabe ohne Spaltennamen gibt?

    Liebe Grüße,
    Christoph

    Beitrag zuletzt geändert: 6.8.2016 21:34:20 von chst
  5. Ersetze einmal diesen Ausdruck:
    mysql_fetch_assoc($query)
    durch das hier:
    mysql_fetch_row($query)
    Vermutlich reicht das schon. Wenn nicht, schau ich nochmal drüber.
  6. Autor dieses Themas

    chst

    chst hat kostenlosen Webspace.

    :thumb: Optimal, das war es, jetzt funktioniert alles!! Vielen Dank für deine Unterstützung und einen schönen Abend!
  7. Ich würde auf jeden Fall zur Verwendung von PDO raten anstelle der alten mysql_* Methoden, welche Seit PHP 5.5.0 als veraltet markiert sind.

    Grüße
  8. Autor dieses Themas

    chst

    chst hat kostenlosen Webspace.

    Danke für den Tipp - diese Befehle werde ich mir auf jeden Fall mal ansehen!
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!