2013-03-16 29 views
0

我如何實現mysql數據到amchart?amchart從mysql數據實現

amchart是JavaScript,代碼如下:

var chartData = [{ country: "USA", visits: 4252 }, 
        { country: "China", visits: 1882 }, 
        { country: "Japan", visits: 1809 }, 
        { country: "Germany", visits: 1322 }, 
        { country: "UK", visits: 1122 }, 
        { country: "France", visits: 1114 }, 
        { country: "India", visits: 984 }, 
        { country: "Spain", visits: 711 }, 
        { country: "Netherlands", visits: 665 }, 
        { country: "Russia", visits: 580 }, 
        { country: "South Korea", visits: 443 }, 
        { country: "Canada", visits: 441 }, 
        { country: "Brazil", visits: 395 }, 
        { country: "Italy", visits: 386 }, 
        { country: "Australia", visits: 384 }, 
        { country: "Taiwan", visits: 338 }, 
        { country: "Poland", visits: 328}]; 

我想數據插入到chartData,以便成功地顯示圖表。

+0

你有什麼試過的? – uvinod 2013-03-21 10:55:57

回答

1

您可以查詢數據庫並在服務器端操作php數組。然後使用以下方法將php數組轉換爲服務器端的json數組。

json_encode(your php array); 

然後將此傳遞給客戶端(瀏覽器)。如果你不知道如何處理mysql數據到php數組請問。

0

從你的控制器,你只需簡單地在數組的形式返回MySQL的數據,如從查詢 返回 data_array中=你的mysql數據和JSON發送該陣列,並從那裏你要求amcharts

利用你的javascript函數並在你的javascript函數中使用下面的代碼 -

function create_chart(data_array){ 

$.each(data_array, function(key, value) { 
    dataSet = { 
    country: value1, 
    visits: value2 
    }; 
    chartData.push(dataSet); 
}); 

chart = new AmCharts.AmPieChart(); 
chart.dataProvider = chartData; 
chart.titleField = "country"; 
chart.valueField = "visits"; 
chart.write("chartdiv"); 
}