单击时为highcharts生成有效的JSON

时间:2014-01-29 09:45:57

标签: php mysql json highcharts

点击我试图以允许的格式获取JSON格式的代码         {     customTooltip:'Point 1',     y:45 },{     customTooltip:'Point 2',     y:99 }

并将系列添加到我的高保真中,如下所示

    $.getJSON("ntdc.php?test='yes'&vnr="+window.vnr+"&jmf="+jmf, function(data) {

    var MGD= data;
    console.log(MGD);
        chart.series[0].remove(true);
        chart.addSeries({
                        name: 'KB',
                        data: [MGD],
                        color: '#adadad'
                            });

});

在我的JSON文件“ntdc.php”中我生成如下代码:

    try{
foreach($database->connection->query("SELECT *, start as datum FROM $table $where ORDER BY start ASC") as $row) {
$volym .= "{y:{$row['volym']}, lpnr:'{$row['lpnr']}'},";
} 
}catch (PDOException $e) {
echo $e->getMessage(); } 
if(isset($_GET['test'])){ 
header('Content-Type: application/json'); echo json_encode(($volym), JSON_NUMERIC_CHECK); 
}

数据似乎是正确的,在控制台'{y:90000,lpnr:'97aDR'},{y:4749,lpnr:'96eDR'}'

中看起来像这样

我没有收到任何错误消息但是图表在没有内容的情况下更新,除了新的标题名称“KB”

任何想法我做错了什么或者更好的解决方案? :)

干杯

1 个答案:

答案 0 :(得分:0)

我通过将“ntdc.php”中的arraycreation更改为:

来解决
    $row_array['y'] = $row['volym'];
$row_array['lpnr'] = $row['lpnr'];

array_push($return_arr,$row_array);

然后删除

中的括号(MGD周围)
    chart.addSeries({
                    name: 'KB',
                    data: MGD,
                    color: '#adadad'
                        });

然后它奏效了! :P