如何使用JSON将数据从PHP数组传递到Highcharts图表?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (33)

我想绘制一个来自我的sql数据库,我用getdata.php?id = allTemp查询的高图表。我并不十分了解JSON,但我已经汇集了下面的代码,而且图表甚至没有绘制。$ .getJSON函数工作,当我得到一个单一的变量,如weather.wesleyweisenberger.com/getdata.php?id=humidity,但只要我试图获取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>
提问于
用户回答回答于
{...}{...}{...}

这是一个无效的json模式。

$results = array();
while($data = $result->fetch_assoc()){
    array_push($results, $data);
}
echo json_encode($results);
用户回答回答于

在你的PHP上试试这个:

var $stringToReturn = [];

while($data = $result->fetch_assoc()){
  push($stringToReturn, $data);
}

echo json_encode($stringToReturn);

扫码关注云+社区

领取腾讯云代金券