2012-05-15 66 views
0

我正在加载存储在MySQL数据库中的数据。 图表没有显示在网页上,但没有显示任何其他警告。在Highcharts中从PHP中加载JSON编码数据时,不会显示酒吧

我的PHP网页返回包含以下信息的JSON编码标题:

var chart; 
function requestData() { 
    $.ajax({ 
     url:'includes/bin/get_leaders.php', 
     success: function(point) { 
      alert(point); 
     var series = chart.series[0], 
     shift = series.data.length > 20; // shift if the series is longer than 20 
     chart.series[0].addPoint(point, true, shift); 
    }, 
    cache: false 
}); 
$(document).ready(function() { 
chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: 'container', 
     type: 'bar', 
     events: {load: requestData} 
    }, 
    title: { 
     text: 'Top Agents' 
    }, 
    xAxis: { 
     type: 'int', 
     title: {text: null} 
    }, 
    yAxis: { 
     min: 0, 
     title: { text: 'Sales this Week', align: 'low'} 
    }, 
    tooltip: { 
     formatter: function() { 
      return ''+ this.series.name +': '+ this.y +' sales'; 
      } 
     }, 
    plotOptions: { 
      bar: { 
       dataLabels: { 
        enabled: true 
       } 
      } 
     }, 
    legend: { 
      layout: 'vertical', 
      align: 'right', 
      verticalAlign: 'top', 
      x: -100, 
      y: 100, 
      floating: true, 
      borderWidth: 0, 
      backgroundColor: '#FFFFFF', 
      shadow: false 
     }, 
     credits: { 
      enabled: false 
     }, 
    series: [{ 
     name: 'Sales'  }] 
});   
}); 
}); 

任何线索是怎么回事:

["John Doe","2","Jane Doe","3"]

加载的信息是下面的脚本? 谢谢!

+0

什么是错误? –

回答

1

看起来你正在传递一个[“string”,“number”,“string”,“number”]。 你想要的是{2,3},然后让你的xAxis使用{“John Doe”,“Jane Doe”}的分类列表。

+0

这正是我想要的,但我不想硬编码这些值,因为我从数据库中检索数据,基本上会计算每个人处理的订单数。 所以我想在条形图中显示前5名的人。 – ILikeTacos

+1

然后您可能必须事先处理一些数据。获得前X人/销售额,然后从中创建系列。您可以遍历返回的顶部X列表来创建您的类别列表和数据列表。 – wergeld