在图表上绘制带有变化数据量的Google图表

时间:2019-11-24 23:42:58

标签: php html mysql google-visualization

第一次发布,长期的Googler:

我正在与mysql一起构建一个php Web应用程序。我没有从mysql数据库中检索数据或填充google图表的问题,但是这次我想到的图表将从不断变化的项目中选择其数据系列。这些项目将确定实际填充图表的mysql查询,但我需要其他表中的数据才能首先确定查询。

例如:它可以读取2010年,2011年和2012年的销售额。但是,当第二年到来时,它还需要读取2013年的数据。我想自动执行此操作。我没有在代码中使用多年,它的动态性远远超过此,可以从表中删除数据系列,也可以将数据系列添加到表中。

我很好奇是否有人这样做并且可以为正确的方向指出一些代码。我已经为此寻找了东西,甚至什么也没给我提示如何开始这样做。

谢谢。

2 个答案:

答案 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.']';
                  }
               }
      ?>
  ]);

}