Jquery Highcharts使用MySQL的实时数据填充类别

Jquery Highcharts使用MySQL的实时数据填充类别,jquery,highcharts,Jquery,Highcharts,我读过很多帖子,但似乎都没有涉及到我的问题 我正在尝试完成一个脚本,该脚本在图表中显示数据 这一切都很好,但我想用从MySQL数据表中提取的数据填充这些类别。到目前为止,我已经提取了图表的数据,但没有提取类别的数据。我不知道如何使AName my类别显示在类别[]中 任何人的帮助,非常感谢提前 我的查询脚本返回: [{名称:阿纳姆,数据:[阿斯塔纳、印度、阿里克、韩亚、英国、太平洋、埃及、埃西奥、埃提哈德、海湾、韩国、科威特、文莱、斯里兰卡], {名称:Sat,数据:[93.8,86.4,85.

我读过很多帖子,但似乎都没有涉及到我的问题

我正在尝试完成一个脚本,该脚本在图表中显示数据

这一切都很好,但我想用从MySQL数据表中提取的数据填充这些类别。到目前为止,我已经提取了图表的数据,但没有提取类别的数据。我不知道如何使AName my类别显示在类别[]中

任何人的帮助,非常感谢提前

我的查询脚本返回: [{名称:阿纳姆,数据:[阿斯塔纳、印度、阿里克、韩亚、英国、太平洋、埃及、埃西奥、埃提哈德、海湾、韩国、科威特、文莱、斯里兰卡], {名称:Sat,数据:[93.8,86.4,85.4,83.9,84.3,84.2,89.4,88.9,80.5,83.8,82.7,80.6,83.8,80.2]}]

生成图表的脚本:

$(function () {
var chart;
$(document).ready(function() {
    $.getJSON("charts_get_data.php", function(json) {

    $('#container1').highcharts({
            chart: {
                renderTo: 'container',
                type: 'column',
                marginRight: 30,
                marginBottom: 110
            },
            title: {
                text: ' Crew Feedback Overall Satisfaction %',
                x: -20, //center
        style: {
                fontFamily: 'Tahoma',
        color: '#000000',
                fontWeight: 'bold',
        fontSize: '11px'
                }
            },
            subtitle: {
                text: '',
                x: -20
            },
            xAxis: {
                categories: [],
    labels: {
            style: {
                color: '#F00',
                font: '11px Tahoma, Verdana, sans-serif'
            }
    }
            },
            yAxis: {
    max:100,
    showFirstLabel: false,
        lineColor:'#999',
        lineWidth:1,
        tickColor:'#666',
        tickWidth:1,
        tickLength:2,
        gridLineColor:'#ddd',
                title: {
                    text: 'Percentage',
        style: {
                fontFamily: 'Tahoma',
        color: '#000000',
                fontWeight: 'bold',
        fontSize: '11px'
                }
                },
                plotLines: [{

                    color: '#808080'
                }]
            },
            tooltip: {
                formatter: function() {
                   return '<b>'+ this.series.name +'</b><br/>'+
                   this.x +': '+ this.y;
                }
            },
            legend: {
                enabled: false
            },
            series: json
        });
    });

});

});
更新如果您能够以如下json所示的所需格式获得json响应,您可以循环使用多个名称/系列,但类别必须位于项目数组中,而不是列表中。更新了此响应的fiddle

如果不想更改json的输出,请使用以下代码

  var categories=[];
      var data2 =[];

          var abc =[{"name":"AName","data":["Astana","India","Arik","Asiana","British","Pacific","Egypt","Ethio   ","Etihad","Gulf","Korean","Kuwait","Brunei","SriLan"]},{"name":"Sat","data":  [93.8,86.4,85.4,83.9,84.3,84.2,89.4,88.9,80.5,83.8,82.7,80.6,83.8,80.2]}];
     $.each(abc,function(i,el)
 { if (el.name=="AName")
         categories = el.data;
 else
     data2.push(el);


});

请参见“工作”

在本例中,您可以简单地使用category=yourResult.data,顺便说一句,为什么不在从sql提取数据时解析数据。将其保留在所需的位置format@Nishith查图维迪,你好,再次感谢你的帮助。完全被这件事缠住了。如何以及在何处使用category=yourResult.data。查询返回的结果包含数组\u push$result$categories;再次感谢。这对你有用吗?看这把小提琴,我为你修改了功能。。复制它并在代码中替换,希望它能再次帮助您您好,感谢您提供的代码和小提琴,但我仍然看不出如何使用调用数据的结果。我有$.getJSONcharts\u get\u data.php,functionjson{但是我如何才能把它放到图表脚本中。正如你所看到的,我不擅长JQ!uery。使用这个>>$.getJSONcharts\u get\u data.php,functionjson{$.eachjson,functioni,el{if el.name==AName categories=el.data;else data2.pushel;};};然后在系列中使用data2,在highcharts类别中使用categories:正如我在fiddle中所做的一样,我在php函数$.getJSONcharts_get_data.php中编写了代码,functionjson{..复制它并在代码jsfiddle.net/Nishith/779gxLr6中替换,希望它能对您有所帮助
  var categories=[];
      var data2 =[];

          var abc =[{"name":"AName","data":["Astana","India","Arik","Asiana","British","Pacific","Egypt","Ethio   ","Etihad","Gulf","Korean","Kuwait","Brunei","SriLan"]},{"name":"Sat","data":  [93.8,86.4,85.4,83.9,84.3,84.2,89.4,88.9,80.5,83.8,82.7,80.6,83.8,80.2]}];
     $.each(abc,function(i,el)
 { if (el.name=="AName")
         categories = el.data;
 else
     data2.push(el);


});