[英]Passing data from PHP array to Highcharts chart with JSON
我正在嘗試繪制來自我的SQL數據庫的highcharts圖表,該數據庫是使用getdata.php?id = allTemp查詢的。 我對JSON的了解不多,但到目前為止,我已經在下面匯編了代碼,圖表甚至都沒有繪制。 當我獲得單個變量(例如weather.wesleyweisenberger.com/getdata.php?id=濕度)時,$ .getJSON函數起作用,但是當我嘗試獲取getdata.php?id = allTemp時,該函數不起作用,請幫助我...
while($data = $result->fetch_assoc()){
echo json_encode($data, JSON_FORCE_OBJECT);
}
並且返回格式為
{"timestamp":"2018-05-30 00:33:05","temperature":"67.39","humidity":"66.57","pressure":"99.21"}{"timestamp":"2018-05-30 00:47:39","temperature":"65.52","humidity":"70.41","pressure":"99.2"}{...
我的index.php文件顯示為:
<script>
$(function(){
$.getJSON('getdata.php?id=allTemp', function(json){
$('#container').highcharts({
series: [{
data: json
}],
title: {
text: 'Title'
}
})
})
})
</script>
<div id="container" style="width:100%; height:400px;"></div>
Highchart使用數組來填充其數據,而您只是並排返回了許多對象,沒有實際可接受的格式,現在有了下面的代碼,您將打印一個字符串化的對象數組。
在您的PHP上嘗試一下:
var $stringToReturn = [];
while($data = $result->fetch_assoc()){
push($stringToReturn, $data);
}
echo json_encode($stringToReturn);
{...}{...}{...}
那是無效的json模式。 之所以得到這個,是因為您要回顯多個json對象,其中響應期望一個。 您可以通過僅回顯一次來更正此問題。
$results = array();
while($data = $result->fetch_assoc()){
array_push($results, $data);
}
echo json_encode($results);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.