第一次发布,长期的Googler:
我正在与mysql一起构建一个php Web应用程序。我没有从mysql数据库中检索数据或填充google图表的问题,但是这次我想到的图表将从不断变化的项目中选择其数据系列。这些项目将确定实际填充图表的mysql查询,但我需要其他表中的数据才能首先确定查询。
例如:它可以读取2010年,2011年和2012年的销售额。但是,当第二年到来时,它还需要读取2013年的数据。我想自动执行此操作。我没有在代码中使用多年,它的动态性远远超过此,可以从表中删除数据系列,也可以将数据系列添加到表中。
我很好奇是否有人这样做并且可以为正确的方向指出一些代码。我已经为此寻找了东西,甚至什么也没给我提示如何开始这样做。
谢谢。
答案 0 :(得分:0)
我做了类似的事情。我建立了文本文件(通过PHP),该文件代表了我想绘制的数据。图表每次都会提取相同的文本文件,但是当然,每次我运行PHP脚本时,这些文件的内容都会更改。
答案 1 :(得分:0)
好吧,不知道我是否是假人,而是一个带有嵌入式if语句的for循环为我完成了它。一次只花了一些时间才能完成一项工作。 { 函数packageChart(){
var data = google.visualization.arrayToDataTable([
['Location/Package', 'Item Count'],
//determine number of packages for for loop
<?php
$stmt = $pdo->prepare("select count(package_id_number) from packages;");
$stmt->execute();
$totalPackageCount = $stmt->fetchColumn();
//for loop to iterate through each package to count pipe
for ($i = 1; $i <= $totalPackageCount; $i++) {
$stmt = $pdo->prepare("select package from packages where package_id_number = ?;");
$stmt->execute([$i]);
$selectedPackage = $stmt->fetchColumn();
$stmt = $pdo->prepare("select count(item_id) from test_inventory where assigned_package = ? and date_cert > curdate() - interval 1 year;");
$stmt->execute([$selectedPackage]);
$indiPackageCount = $stmt->fetchColumn();
$packageCount = $indiPackageCount.$i;
if($i < $totalPackageCount) {
echo '[\''.$selectedPackage.'\','.$packageCount.'],';
}
else {
echo '[\''.$selectedPackage.'\','.$packageCount.']';
}
}
?>
]);
}