简体   繁体   English

将php变量传递给Google Chart

[英]Passing php variable to Google Chart

I have a simple pie chart from official Google Chart gallery page 我有一个来自Google官方图表库页面的简单饼图

<script type="text/javascript">
        google.load("visualization", "1", {packages:["corechart"]});
        google.setOnLoadCallback(drawChart);
        function drawChart() {
          var data = google.visualization.arrayToDataTable([
            ['Task', 'Hours per Day'],
            ['Target',    10],
            ['Achieved',      2], 
          ]);

          var options = {
            title: ''
          };

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

          chart.draw(data, options);
        }
      </script>

Now I want to pass it only 2 variables target and achieved . 现在我想通过它只有2个变量targetachieved These 2 values are coming from database, how do I pass it to the charts? 这两个值来自数据库,如何将其传递到图表? I can't calculate them before html tag as they are in a loop and generating divs in loop. 我无法在html标记之前计算它们,因为它们在循环中并在循环中生成div。

You can embed PHP and JavaScript interchangeably. 您可以互换地嵌入PHP和JavaScript。

You have to first fetch data from database. 您必须首先从数据库中获取数据。

Then assign it using: 然后使用以下命令分配它:

  var data = google.visualization.arrayToDataTable([
            ['Task', 'Hours per Day'],
            ['Target',    '<?php echo $targetFromDatabase;?>'],
            ['Achieved',      '<?php echo $achievedFromDatabase;?>'],
          ]); 

Use code as bellow, do not use ' marks before or end of PHP statement. 使用下面的代码,不要在PHP语句的开头或结尾使用'标记。 If you use ' mark it will not work. 如果您使用'标记,它将不起作用。

var data = google.visualization.arrayToDataTable([
            ['Task', 'Hours per Day'],
            ['Target',    <?php echo $targetFromDatabase;?>],
            ['Achieved',      <?php echo $achievedFromDatabase;?>],
          ]); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM