highchart加载图表但不加载JSON数据

I'm trying to use highcharts to draw data from php json.

the php works ok but i dont know how to make the json an input.

Speciffically 'm trying to put the data on single Gauge Chart like the one on the example, but i can't configure the script to read the json.

The URL si this: php/KPItonsStock.php

<?php


function getArraySQL(){
$startd = "29964";
$endd = "29968";
$dsn = "prueba";
$connect = odbc_connect( $dsn, '', '' );
$query = "

Select SUM(TON_DESCARGADO) AS data
    from 
        (Select unit,[load],enum_LOAD.[name],SUM(dumptons) as TON_DESCARGADO
        from hist_dumps inner join hist_loclist on hist_dumps.shiftindex = hist_loclist.shiftindex
                                       and hist_dumps.loc = hist_loclist.locid
                inner join enum_LOAD on hist_dumps.[load] = enum_LOAD.[num]
        where hist_dumps.shiftindex between '$startd' and  '$endd'

GROUP BY loc,UNIT,unit#,[load],enum_LOAD.[name])TEMP1
where unit = 'Stockpile'
GROUP BY unit
order BY UNIT";


if(!$rs = odbc_exec($connect, $query)) die();

$rawdata = array();

$i=0;

while($row = odbc_fetch_array($rs))
{
$rawdata[$i] = $row;
$i++;
}
odbc_close( $connect );
return $rawdata;    
};
$data = getArraySQL();
echo json_encode(($data), JSON_NUMERIC_CHECK);

and the result is this:

[{"data":29655.88482666}]

so i need to put information from that URL to the gauge chart.

Im trying with getjson, but I'm missing something, because the chart loads but not the data.

This is the otriginal highchart example

http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/gauge-solid/

This is the example with my data

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Highcharts Example</title>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script src="http://code.highcharts.com/highcharts.js"></script>
        <script src="http://code.highcharts.com/highcharts-more.js"></script>

        <script src="http://code.highcharts.com/modules/solid-gauge.js"></script>
        <style type="text/css">
${demo.css}
        </style>

<script type="text/javascript">

function visitorData (data) {
   $('#container').highcharts({
    chart: {
        type: 'solidgauge'
    },
    title: {
        text: 'Average Visitors'
    },

 pane: {
            center: ['50%', '85%'],
            size: '140%',
            startAngle: -90,
            endAngle: 90,
            background: {
                backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
                innerRadius: '60%',
                outerRadius: '100%',
                shape: 'arc'
            }
        },

 yAxis: {
            min: 0,
            max: 40000,
            title: {
                text: 'Speed'},
            stops: [
                [0.1, '#55BF3B'], // green
                [0.5, '#DDDF0D'], // yellow
                [0.9, '#DF5353'] // red
            ],
            lineWidth: 0,
            minorTickInterval: null,
            tickPixelInterval: 400,
            tickWidth: 0,
            title: {
                y: -70
            },
            labels: {
                y: 16
            }
        },
    series: data,
  });
}
$(document).ready(function() {
 $.ajax({
    url: 'report2/KPItonsStock.php',
    type: 'GET',
    async: true,
    dataType: "json",
    success: function (data) {
        visitorData(data);
    }
  });
 });
</script>
</head>
    <body>

<div style="width: 600px; height: 400px; margin: 0 auto">
    <div id="container" style="width: 300px; height: 200px; float: left"></div>
</div>


    </body>
</html>

I get the graphic but it doesnt load any data

doublel83422
doublel83422 我保留这个,因为最后一个有旧数据
大约 5 年之前 回复
doudou20145
doudou20145 可能从php的json重复作为gaugehighcharts的数据
大约 5 年之前 回复

1个回答



数据需要是一个数组。 让你的后端返回</ p>

  [{
“data”:[29655.88482666]
}]
</ code> </ pre>

http://jsfiddle.net/nicholasduffy/openzant/3/ </ p>
</ DIV>

展开原文

原文

Data needs to be an array. Make your backend return

[{
    "data": [29655.88482666]
}]

http://jsfiddle.net/nicholasduffy/openzant/3/

drpzr64329
drpzr64329 您需要以其想要的格式提供Highcharts数据 - 并且它需要像“data”这样的数据:[29655.88482666]即使对于具有单个值的实体仪表图表也是如此。
大约 5 年之前 回复
du7999
du7999 我需要在我的PHP上改变什么?
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问