0

如何将 mysql 数据实现到 amchart 中?

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,以便成功显示图表。

4

3 回答 3

2

您可以在服务器端查询数据库并操作 php 数组。然后使用以下方法将php数组转换为服务器端的json数组。

json_encode(your php array);

然后将其传递给客户端(浏览器)。如果您不知道如何将 mysql 数据处理到 php 数组,请询问。

于 2013-08-15T06:33:12.503 回答
2

如果您使用版本 4

chart.dataSource.url = "path/to/yourdata.php";
chart.dataSource.parser = new am4core.JSONParser();
chart.dataSource.parser.options.emptyAs = 0;

如果您使用版本 3

"dataLoader": {
    "url": "path/to/yourdata.php"
},
于 2018-11-30T14:46:32.713 回答
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");
}
于 2013-10-21T07:25:34.487 回答