2016-12-18 2 views
1

Ich habe eine Datenbank mit einigen Temperaturdaten und Datum. Um die Daten zu plotten muss ich die Datetime in ISO8601 konvertieren. fand ich den Befehl, um die richtigen Daten auswählen und transformieren sie:Abrufen von Daten von einem bestimmten SQL-Befehl in PHP

SELECT DATE_FORMAT(`datelog`, '%Y-%m-%dT%TZ') AS date_formatted FROM `tempo` ORDER BY id ASC 

In phpMyAdmin zeigen die Daten korrekt, aber wenn ich meine PHP-Skript mit dem gleichen Befehl ausführen es mir die Daten zeigen, wie sie in der DB gespeichert sind, (zB: {"datelog": "2016-12-18 11:54:11", "donnee": "16.937"}). Wie kann ich das ändern?

<?php 
//setting header to json 
header('Content-Type: application/json'); 

//database 
define('DB_HOST', '127.0.0.1'); 
define('DB_USERNAME', 'root'); 
define('DB_PASSWORD', '******'); 
define('DB_NAME', 'tempo'); 

//get connection 
$mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME); 

if(!$mysqli){ 
    die("Connection failed: " . $mysqli->error); 
} 

//query to get data from the table 
$query = "SELECT DATE_FORMAT(`datelog`, \'%Y-%m-%dT%TZ\') AS date_formatted\n" . "FROM `tempo`\n" . "ORDER BY id ASC "; 

//execute query 
$result = $mysqli->query($query); 

//loop through the returned data 
$data = array(); 
foreach ($result as $row) { 
    $data[] = $row; 
} 

//free memory associated with result 
$result->close(); 

//close connection 
$mysqli->close(); 

//now print the data 
print json_encode($data); 

Antwort

0

Es könnte etwas in Verkettung:

$query = "SELECT DATE_FORMAT(`datelog`, \'%Y-%m-%dT%TZ\') AS date_formatted\n" . "FROM `tempo`\n" . "ORDER BY id ASC "; 

Versuchen Sie dies, wenn Funktionen:

$query = "SELECT DATE_FORMAT(`datelog`, \'%Y-%m-%dT%TZ\') AS date_formatted\n . " " . FROM `tempo`\n . " " . ORDER BY id ASC . "; 
+0

Immer noch die gleiche Leistung mit dieser Linie – eliobou

+0

Zum Beispiel, was die Ausgabe sein sollte? – rcf2255

+0

Es sollte in etwa so aussehen: 2016-12-18T00: 58: 05Z – eliobou