highchart load the chart but not the JSON data

自作多情 提交于 2019-12-12 03:36:31

问题


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


回答1:


Data needs to be an array. Make your backend return

[{
    "data": [29655.88482666]
}]

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



来源:https://stackoverflow.com/questions/31900565/highchart-load-the-chart-but-not-the-json-data

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!