繁体   English   中英

如何在HighCharts中返回JSON数据?

[英]How to return json data in HighCharts?

美好的一天。 帮助以JS Highcharts的JSON格式发送数据。 选择了两个字段:温度和湿度。 对他们应该根据时间表。 在一个领域,一切正常,因为仅有的两个全部死亡。

PHP:

<?php
/* SQL */
    /* Connect */
        try
        {
            $connection = new PDO("mysql:host=localhost;dbname=my","root","");
        }
        catch (PDOException $e)
        {
            echo 'Connection error: ' . $e->getMessage();
        }
    /* /Connect */
    /* Query */
        $query = $connection->prepare("SELECT temperature, humidity FROM weather WHERE date >= CURDATE()");
        $query->execute();
        $result = $query->fetchAll(PDO::FETCH_ASSOC);

        echo json_encode($result, JSON_NUMERIC_CHECK);

    /* /Query */
/* /SQL */
?>

JS:

$(function(){
var options = {
    chart: {
        renderTo: 'mychart',
        type: 'spline'
    },
    title: {
        text: 'Temperature'
    },
    xAxis: {
        categories: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
    },
    yAxis: {
        title: {
            text: 'Values'
        }
    },
    series: [{}]
};

$.getJSON('../ajax/get_weather_day.php', function(data){
    options.series[0].name = "Temperature";
    options.series[0].data = data;
    options.series[1].name = "Humidity";
    options.series[1].data = data;
    var chart = new Highcharts.Chart(options);
});
});

您正在将mysql表的两个字段的结果分配给两个系列。

options.series[0].data = data;
options.series[1].data = data;

您应该拆分数据并为正确的序列分配正确的值(或者您可以进行两次ajax调用以分别获得它们-检查哪种情况下更便宜)。

顺便说一下,数据现在包含mysql结果行(值对),但是highcharts将这些值视为数字序列。

看这里:

http://api.highcharts.com/highcharts#series

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM