我正在制作一个需要使用谷歌图表的应用程序。 我有这个代码。如果仅使用变量 a 和 b ,则一切正常。一旦我添加另一个名为 c 的变量,它就会显示如下输出。
为什么会这样显示? 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>
欢迎任何建议。
最佳答案
您需要将 a
、b
和 c
解析为数字:
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/