首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用JSON将数据从PHP数组传递到Highcharts

使用JSON将数据从PHP数组传递到Highcharts
EN

Stack Overflow用户
提问于 2018-06-07 05:44:09
回答 2查看 658关注 0票数 0

我正在尝试绘制一个来自我的sql数据库的highcharts,我正在用getdata.php?id=allTemp查询这个数据库。我对JSON了解不多,但到目前为止,我已经组装了下面的代码,图表甚至没有绘制出来。当我得到一个像weather.wesleyweisenberger.com/getdata.php?id=humidity,这样的变量时,$.getJSON函数可以工作,但是当我尝试获取getdata.php?id=allTemp时,它就不工作了,请帮助我…

代码语言:javascript
复制
while($data = $result->fetch_assoc()){
                        echo json_encode($data, JSON_FORCE_OBJECT);
                    }

并且返回的格式为

代码语言:javascript
复制
{"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文件为:

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-07 05:49:20

代码语言:javascript
复制
{...}{...}{...}

这是一个无效的json模式。您之所以得到这个结果,是因为您正在回显多个json对象,其中的响应需要一个单独的json对象。您可以通过仅回显一次来纠正此问题。

代码语言:javascript
复制
$results = array();
while($data = $result->fetch_assoc()){
    array_push($results, $data);
}
echo json_encode($results);
票数 0
EN

Stack Overflow用户

发布于 2018-06-07 05:48:41

Highchart使用数组来填充其数据,您只是并排返回了许多对象,没有实际可接受的格式,现在使用下面的代码,您将打印一个串行化的对象数组。

在你的PHP上试试这个:

代码语言:javascript
复制
var $stringToReturn = [];

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

echo json_encode($stringToReturn);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50730065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档