【问题标题】:google pie chart dynamic with mysql and php谷歌饼图动态与mysql和php
【发布时间】:2012-10-16 11:31:54
【问题描述】:

我想用提供的库动态生成谷歌饼图。

我有这个从mysql获取数据的代码:

$query = "SELECT name FROM mybase WHERE name = '$name' ";

        $mysqli = new mysqli();
        $mysqli->connect('localhost', 'blabla', 'blabla', 'blabla');
        $result = $mysqli->query($query);
        while ($row = $result->fetch_assoc()) {
            //here I cant figure out how to make data in format for pie chart
        }

我需要将此数据转换为 Java 脚本。 Seen x times 表示它在数据库中列出的次数:

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Name', 'Seen x times'],
          ['somenamefrommysql',     11],
          ['somenamefrommysql',      2],
          ['somenamefrommysql',  2],
          ['somenamefrommysql', 2],
          ['somenamefrommysql',    7]
        ]);

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

        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

【问题讨论】:

  • 如果您的 HTML 和 JS 生成了一个好的饼图,那么为什么不使用您的 PHP 代码动态生成 JS 代码呢?更具体地说,您必须生成 data 变量,从 PHP 的角度来看,这只是一个字符串。另一方面,如果你有大量数据,也许这不是最好的方法,你可能需要使用一些花哨的 AJAX 调用......

标签: php mysql google-visualization


【解决方案1】:

可以从纯 JSON 创建数据表,因此如果您可以让 PHP 脚本以所需格式的 JSON 对象的形式返回结果,那么它将起作用。

https://developers.google.com/chart/interactive/docs/reference#DataTable

【讨论】:

    猜你喜欢
    • 2018-05-11
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多