【发布时间】: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