我正在使用谷歌图表输出一个非常简单的饼图
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Games', 'Number'],
['Win', 11],
['Lose', 2]
]);
var options = {
title: 'Win/Lose Ratio'
};
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
但是,我想从数据库中提取 2 个数字来代替“赢”和“输”的值。这不需要任何类型的循环,只是一种引用一行上 2 个特定字段而不是值 11 和 2 的方法。这是我用来获取这两个值的 SQL 查询
$qry =("SELECT games_won, games_lost FROM Members where member_id = '".$_SESSION['SESS_MEMBER_ID']."'");
$result = mysql_query($qry);
$row = mysql_fetch_array($result);
$won = $row[games_won];
$lost = $row[games_lost];
有人知道怎么做吗?
我已经查看了有关该主题的许多其他常见问题解答,但它们都处理同一字段中的值集合并循环几行数据,而不是引用数据库中的特定条目。
提前致谢!
最佳答案
你尝试过这个吗:
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Games', 'Number'],
['Win', <?php echo($won); ?>],
['Lose', <?php echo($lost); ?>]
]);
var options = {
title: 'Win/Lose Ratio'
};
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
您所做的就是获取这些值,然后将它们echo
到您的 JavaScript 中。请注意,我不是在进行错误检查,这是您在直接将值注入(inject) HTML 或 JavaScript 时需要考虑的事情!
更好的方法是将代码编写为 RESTful API 。将 SQL 代码放在可以将 member_id
作为 GET
请求发送的位置。反过来,可以在 JSON
中打印出获胜/失败的比赛。然后,您可以执行 AJAX 请求并获取这些值来填充您的表(只需将返回的 JSON
中的值引用为常规 JavaScript 变量)。
关于php - 将 PHP 与图表和 MySQL 数据结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15720384/