php - php图表未显示所有字段
问题描述
我正在使用带有 sql DB 数据的谷歌图表(在 php 网页上)。我遇到的问题是它没有正确显示字段名称和值,它只是显示第一个字段“费用”的值。它应该显示两个字段“费用”和“收入”以及数据库中的值。任何想法我做错了什么?
我的代码如下:
<?php
$dbhandle = new mysqli('localhost','root','','useraccounts');
echo $dbhandle->connect_error;
$query = "SELECT * FROM ctincome";
$res = $dbhandle->query($query);
?>
<html>
<head>
<script type="text/javascript"
src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['expense','income'],
<?php
while($row=$res->fetch_assoc())
{
echo "['".$row['expense']."','".$row['income']."'],";
}
?>
]);
var options = {
title: 'Expenses to Income',
pieHole: 0.4,
};
var chart = new
google.visualization.PieChart(document.getElementById
('donutchart'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="donutchart" style="width: 900px; height: 500px;"></div>
</body>
</html>
解决方案
根据我解决的跨浏览器或 javascript 错误方面的经验,我有三个建议。
第一点:你只是在呼应,你需要使用连接。
<?php
$data = '';
while($row=$res->fetch_assoc())
{
$data .= "['".$row['expense']."','".$row['income']."'],";
}
?>
var data = google.visualization.arrayToDataTable([
['expense','income'],
<?php echo $data; ?>
]);
第二点:在javascript中,最后一个逗号可能有效,也可能无效,如果它是最后一行,最好不要附加逗号。
var data = google.visualization.arrayToDataTable([
['expense','income'],
<?php
while($row=$res->fetch_assoc())
{
if(last row )
$data .= "['".$row['expense']."','".$row['income']."']";
else $data .= "['".$row['expense']."','".$row['income']."'],";
}
?>
]);
第三个建议:在连接前后检查var数据的数据类型
推荐阅读
- android - 如何将 ByteArray 从 Activity 传递到 Fragment(Tabbed Activity)不断更新?
- c# - 如何将 json 对象反序列化为复杂对象?
- python-3.x - Pyside2 从 C++ 到 Python 的翻译
- sql - 如何将 SQL 中的日期时间转换为 Scala 数据类型?
- r - 将 R 绘图命令转换为许多文件的循环
- javascript - 使用 ajax 上传网络摄像头图片:有时图像只保存了一部分。我错过了什么?
- arrays - 如何读取数据集列中的字符串
- c++ - 需要知道 Windows API 才能在我的应用程序被激活时获得回调
- python - python - 如何在python Tkinter的列表框中显示文本文件中的所有项目?
- amazon-cloudformation - VPCDHCPOptionsAssociation 遇到不支持的属性 DHCPOptionsId