我需要从MYSQLI数据库动态地使用"Google Charts"绘制折线图。我正在从mysql数据库中获取折线图所需的数据。
在x轴上,我想要星期在y轴上,我想要用户id像0,200,400,600 -----2000。
这是我实现的代码,谁能指导我哪里我错了。
<?php
$DB_NAME = 'chart';
$DB_HOST = 'localhost';
$DB_USER = 'root';
$DB_PASS = '';
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if (mysqli_connect_errno()) {
printf("Connect failed: %s'n", mysqli_connect_error());
exit();
}
$sql = "SELECT DATE_FORMAT(FROM_UNIXTIME(timemodified),'%d-%m-%Y') AS 'dat', userid FROM user_reg";
$r = mysqli_query($sql) or die(mysqli_error());
$transactions = array();
while($result = mysqli_fetch_assoc($r, MYSQL_ASSOC))
{
$transactions[] = $result;
}
$rows = array();
$flag = true;
$table = array();
$table['cols'] = array(
array('label' => 'dat', 'type' => 'string'),
array('label' => 'userid', 'type' => 'number') );
$rows = array();
foreach($transactions as $tr)
{
$temp = array();
foreach($tr as $key=>$value)
{
$temp[] = array('v' => $value);
$temp[] = array('v' => $value);
}
$rows[] = array('c' => $temp);
}
$table['rows'] = $rows;
$jsonTable = json_encode($table);
echo $jsonTable.'<br>';
?>
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(<?=$jsonTable?>);
var options = {
title: 'Statistics',
is3D: 'true',
width: 800,
height: 600
};
// Instantiate and draw our chart, passing in some options.
// Do not forget to check your div ID
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<!--this is the div that will hold the pie chart-->
<div id="chart_div"></div>
</body>
</html>
你没有说你得到的问题/错误是什么,但尽量避免使用PHP的短标记-它们很可能在你的PHP版本中被禁用。
http://php.net/manual/en/language.basic-syntax.phptags.php替换:
<?=$jsonTable?>
:
<?php echo $jsonTable; ?>