如何将数据动态添加到Google图表中

时间:2016-02-02 08:12:18

标签: javascript mysql pygooglechart

我的数据库中有数据。让我们说我现在拥有所有这些:

  ['Task', 'Hours per Day'],
  ['Work', 8],
  ['Eat', 2],
  ['Commute', 2],
  ['Watch TV', 2],
  ['Sleep', 7]

DataBase表:

MyDailyRoutineTable
Task       Hours per Day
Work       8
Eat        2
Commute    2
Watch TV   2
Sleep      7
//Do Chores  2 //eventually added
//Exercise   1 //eventually added

我希望能够在我的数据库中添加更多数据,如果以后我决定加入像“做家务”这样的事情。并且'锻炼'我想直接从数据库中读取所有值,这些值稍后会(从MyDailyRoutineTable中的数据动态填充):

  ['Task', 'Hours per Day'],
  ['Work', 8],
  ['Eat', 2],
  ['Commute', 2],
  ['Watch TV', 2],
  ['Sleep', 7],
  ['Do Chores', 2],
  ['Exercise', 1]

而不是:

var data = google.visualization.arrayToDataTable([

      ['Task', 'Hours per Day'],
      ['Work', 8],
      ['Eat', 2],
      ['Commute', 2],
      ['Watch TV', 2],
      ['Sleep', 7]
    ]);

应该是这样的:

var data = google.visualization.arrayToDataTable([

      {database data}

    ]);

jsfiddle中没有考虑最后2个。我想知道的是如何从mysql数据库中读取它们并将它们添加到图表中。



      google.charts.load('current', {
        'packages': ['corechart']
      });
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {

        var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work', 8],
          ['Eat', 2],
          ['Commute', 2],
          ['Watch TV', 2],
          ['Sleep', 7]
        ]);

        var options = {
          title: 'My Daily Activities'
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));

        chart.draw(data, options);
      }

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<div id="piechart" style="width: 900px; height: 500px;"></div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

基本上要实现您想要的,您需要在后端配置php脚本,以便以JSON格式输出数据。您可以发送符合非谷歌图表的JSON,然后在前端解析它并构建图表,或者您可以在符合谷歌图表的JSON上使用google.visualization.arrayToDataTable()方法。见下面的链接。在玩谷歌图表很长一段时间后,我会认真推荐发送符合谷歌标准的JSON。即使它很繁琐并且可能需要相当长的时间,你可以卸载服务器端的许多计算,然后获得抽象。

Google Chart JSON format

Building array and formatting JSON for Google Charting API