Amchart реализован из данных mysql

Как я могу внедрить данные 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, чтобы успешно отобразить диаграмму.


person akz Leung    schedule 16.03.2013    source источник
comment
Что ты пробовал?   -  person Vinod Kumar    schedule 21.03.2013
comment
Нам нужна дополнительная информация. В чем именно вам нужна помощь? Вам нужна помощь с запросом к базе данных? Вы создаете страницу с помощью amCharts или просто данных? Какой внутренний язык / фреймворк? Какая таблица mysql и на что не похожа? Какая версия amCharts?   -  person notacouch    schedule 03.12.2018


Ответы (3)


Вы можете запрашивать базу данных и управлять массивом php на стороне сервера. затем используйте следующий метод для преобразования массива php в массив json на стороне сервера.

json_encode(your php array);

Затем передайте это клиентской стороне (браузеру). Если вы не знаете, как обрабатывать данные mysql в массиве php, спросите.

person Viraths    schedule 15.08.2013

если вы используете версию 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"
},
person asnka go    schedule 30.11.2018

С вашего контроллера вы можете просто вернуть данные mysql в массиве, например data_array = ваши данные mysql, которые возвращаются из запроса, и отправить этот массив с помощью json и использовать это в своей функции javascript, откуда вы запросили amcharts

и в вашей функции 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");
}
person LHH    schedule 21.10.2013
comment
Этот ответ делает несколько предположений, например что у пользователя есть jQuery и он использует amCharts v3 (v4 был недавно выпущен). - person notacouch; 03.12.2018