从MYSQL查询到谷歌图表

时间:2012-11-01 17:32:59

标签: php mysql google-visualization

首先我要说的是,我不知道如何就此提出正确的问题,但这里有......

我有一个数量的数据库,所有时间都附加在他们身上。例如,四行看起来像:

2  | 1000 | 2012-11-01 12:09:09
2  | 800  | 2012-11-01 12:10:21
10 | 900  | 2012-11-01 12:11:36
10 | 750  | 2012-11-01 12:12:46

第一列是用户。我想把它放到谷歌线图上,但真的在如何设置查询方面苦苦挣扎。

javascript数组的最终结果需要如下所示:

data.addColumn('string', 'Date');
data.addColumn('number', 'User 2');
data.addColumn('number', 'User 10');

data.addRows([
    ['12:09', 1000, null],
    ['12:10', 800, null],
    ['12:11', 800, 900],
    ['12:12', 800, 750]
]);

任何帮助或操纵都非常受欢迎。我正在考虑一些PHP循环,但有点卡住......

1 个答案:

答案 0 :(得分:0)

将它放在您的文档顶部:

<?php

$dsn = 'mysql:dbname=myDbName;host=127.0.0.1';
$user = 'dbUserName';
$password = 'dbPassword';

$pdo = new PDO($dsn, $user, $name);

$result = $pdo->query('select * from YourAmountsTableName');
foreach ($result as $row) {

$rows[] = "['{$row['time']}',{$row['ammount']},{$row['yourThirdValue']}]";

}
$rowsString = implode(',',$rows);
?>

现在在您的HTML文档或您的Javascript中,在行的位置回显$ rowsString:

data.addRows([<?php echo $rowsString; ?>]);

调整为名称,密码等提供的代码。我没有测试过代码,所以请检查是否缺少引号或其他拼写错误。至于Google Chart, https://developers.google.com/chart/interactive/docs/examples?hl=pl 有很好的例子