我的数据库中有以下数据:
我想要以下 JSON 格式的日期:
{
"labels": ["12.11.2016", "13.11.2016", "14.11.2016", ...],
"temperature": ["12", "35", "27", ...],
"humidity": ["56", "70", "87", ...]
}
我当前的代码是:
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
//Select the requested data
$sql = "SELECT date, temperature, humidity FROM `TestData` ORDER BY date ASC ";
$statement = $conn->prepare($sql);
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
//Values returned for JavaScript
$labels = array();
$temperature = array();
$humidity = array();
$data = array();
foreach ($result as $row)
{
array_push($labels, $row['date'] );
array_push($temperature, $row['temperature']);
array_push($humidity, $row['humidity']);
}
$result = null;
//Load data in one single array
$data['labels'] = $labels;
$data['temperature'] = $temperature;
$data['humidity'] = $humidity;
//echo $data;
//echo json_encode($labels , JSON_FORCE_OBJECT);
echo json_encode($data);
这里有人有想法吗?即使我已经在互联网上搜索了大约 5 个小时,我还是无法让它工作:/
最佳答案
尝试:
array_push($labels, $row['DATE'] );
array_push($temperature, $row['TEMPERATURE']);
array_push($humidity, $row['HUMIDITY']);
由于 $conn->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
,看起来你所有的列名都是大写的。
关于javascript - 从 mySql 数据库在 php 中返回 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39821135/