我试图用下面的代码做的是绘制一个柱状图,在任何日期显示两种类型的金额(收入和冲销),但是结果不正确,我找不到更好的方法纠正一下。
谁能帮我实现这个目标?
<?Php
require "config.php";// Database connection
$stmt = $connection->query("SELECT date,trans_type,Sum(trans_amount) FROM prefix_transactions GROUP by date,trans_type"))
$php_data_array = Array();
while ($row = $stmt->fetch_row()) {
$php_data_array[] = $row;
}
echo json_encode($php_data_array);
echo "<script>
var my_2d = ".json_encode($php_data_array)."
</script>";
?>
<div id="chart_div"></div>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current',{packages: ['corechart','bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string','Date');
data.addColumn('number','Type');
data.addColumn('number','Amount');
for (i = 0; i < my_2d.length; i++)
data.addRow([my_2d[i][0],parseInt(my_2d[i][2]),parseInt(my_2d[i][2])]);
var options = {
hAxis: {title: 'Month',titleTextStyle: {color: '#333'}},vAxis: {minValue: 0},width:500,height:400
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data,options);
}
</script>