php - 谷歌图表似乎不起作用

标签 php mysql google-visualization

我正在制作一个需要使用谷歌图表的应用程序。 我有这个代码。如果仅使用变量 ab ,则一切正常。一旦我添加另一个名为 c 的变量,它就会显示如下输出。

enter image description here

为什么会这样显示? a、b、c 的值分别为 8、10、50。

这是代码:-

<?php
include 'dbconnector.php';
include 'class/class.user.php';
$user = new user();
try
{
  $s = $conn->query("SELECT * from messagequeue where indexid=1");
  $s->setFetchMode(PDO::FETCH_OBJ);
  $row = $s->fetch();
  $s->closeCursor();
  $total = $user->getMaxEmailsFromGridId($row->gridid);
}
catch(PDOException $e)
{
  echo $e->getMessage();
}
?>

<html>
  <head>

  </head>
  <body>
    <div id="donutchart" style="width: 900px; height: 500px;"></div>
    <input type="hidden" name="read" id="read" value="<?php echo $row->read; ?>">
    <input type="hidden" name="unsubscribed" id="unsubscribed" value="<?php echo $row->unsubscribed; ?>">
    <input type="hidden" name="total" id="total" value="<?php echo $total; ?>">
  </body>
</html>

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
    var a=document.getElementById('read').value;
    var b=document.getElementById('unsubscribed').value;
    var c=document.getElementById('total').value;
    alert(a);
    alert(b);
    alert(c);
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['A',     a],
          ['B',      b],
          ['C',  c]
        ]);

        var options = {
          title: 'Mail Activity',
          pieHole: 0.4,
        };

        var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
        chart.draw(data, options);
      }
    </script>

欢迎任何建议。

最佳答案

您需要将 abc 解析为数字:

var a = parseFloat(document.getElementById('read').value);
var b = parseFloat(document.getElementById('unsubscribed').value);
var c = parseFloat(document.getElementById('total').value);

如果已知您的值是整数,您还可以使用 parseInt 代替 parseFloat

关于php - 谷歌图表似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24393308/

相关文章:

php - YII:Renderpartial 不生成 javascript?

php - Foreach排序

mysql - mysql 中的空 where 子句(当我使用 RMySql dbGetQuery 时)

MySQL 查询慢除了使用索引?

javascript - Google Chart Table - 如果单元格为空,如何跳过超链接格式

javascript - Rails 3.1 Ajax 部分中的 Google Charts

r - 在 gvisMotionChart 中绘制离去图

javascript - jQuery - 从另一个页面加载内容 - 仅一次

mysql - 如何在 SELECT 语句的列部分中使用从 DATE_FORMAT() 返回的值

php - 使用 CI 事件记录的棘手 SQL 查询