2014-03-27 63 views
0

我需要使用Highcharts使用PHP和MySQL構建圖表。PHP和MySQL,獲取JSON數據以供給HighCharts

data.php,我得到:

0: {categoria:Vendas, real:2038.00, orcamento:14000.00, desvio:-11962.00} 
1: {categoria:Serviços, real:120.00, orcamento:8500.00, desvio:-8380.00} 
2: {categoria:Outras, real:15000.00, orcamento:0.00, desvio:15000.00} 

但是,爲了建立圖表,數據必須採用以下格式:

xAxis: { 
    categories: ['Vendas', 'Serviços', 'Outras'] 

}, 

和:

series: [{ 
    name: 'orcamento', 
    data: [14000, 8500, 0] 
}, { 
    name: 'real', 
    data: [2038, 15000, 120] 
}, { 
    name: 'desvio', 
    data: [-11962, -8380,15000] 
}] 

這是我想要做的,以正確的格式轉換數據並呈現圖表:

$(document).ready(function(){ 
    var options={ 
     chart: { 
      renderTo:'container', 
      type: 'bar' 
     }, 
     title: { 
      text: 'Total Anual' 
     } 
    }; 

    $.getJSON('data.php', function (data){ 
     $.each(data, function(key,value) { 
      var series = [{}]; 
      var xAxis = [{}]; 

      if(key=='categoria'){ 
       options.xAxis.categories.push(value); 
      } 
      else{ 
       options.series.name.push(key); 
       $.each(value, function(key,value){ 
        //series.data=value; 
        options.series.data.push(value) 
       }) 
      } 
     }); 
     //options.series[0].data=data; 
     var chart= new Highcharts.Chart(options); 
    }); 
}); 

的問題是,該代碼返回錯誤: 「遺漏的類型錯誤:無法讀取屬性 '名' 未定義」 上線:

options.series.name.push(key); 
+1

那麼這有什麼問題? – andrew

+0

請參閱我上面的編輯 –

回答

0

在選項:

var options={ 
    chart: { 
     renderTo:'container', 
     type: 'bar' 
    }, 
    title: { 
     text: 'Total Anual' 
    } 
}; 

您缺少該對象的屬性。例如:xAxis,series,series.data,series.names。