通过谷歌的javascript饼图传递php变量

pass php variables through javascript pie chart from google

本文关键字:php 变量 谷歌 javascript      更新时间:2023-09-26

所以我有一个来自谷歌的3D饼图,我试图通过php变量来传递来自数据库的%。出于某种原因,我得到的只是其他100%,实际上并没有得到正确的%。对于设置的变量,它们是以下数字:

$players = 80;
$sold = 5;
$forsale = 15;

但这些数字是从数据库中计算出来并放入变量中的。

这是我的代码:

<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Players', '<?php echo $players; ?>'],
      ['Sold', '<?php echo $sold; ?>'],
      ['Open', '<?php echo $forsale; ?>']
    ]);
    var options = {
      title: 'Share''s Allocation',
      is3D: true,
    };
    var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
    chart.draw(data, options);
  }
</script>

有人知道我哪里出错了吗?

感谢

问题不在于你的PHP变量(很可能),而在于谷歌图表所期望的JavaScript类型:你使用字符串而不是整数。

只需删除PHP变量周围的引号:

请参阅此小提琴

<div id="piechart_3d" style="width:300px;height:300px;">...</div>
<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Players', 80],
      ['Sold', 5],
      ['Open', 15]
    ]);
    var options = {
      title: 'Share''s Allocation',
      is3D: true,
    };
    var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
    chart.draw(data, options);
  }
</script>