php - 如何使用 Google Charts 和 MySQL 在具有相同小时(日期时间)的不同表中显示数据?

标签 php mysql database charts google-visualization

当小时匹配时,我正在尝试显示来自不同表的多维数据。因此,例如,table1 中的 value1 和 table2 中的 value2 应显示在 Y 中,小时显示在 X 中。我使用的是 Google Charts 和 MySQL。当我从单个表中选择内容时,该代码有效,但是当我尝试混合结果时,它会出现此错误:“轴 #0 的数据列不能是字符串类型”

我尝试使用 WHERE 并尝试 JOIN 将表 1 中的日期时间列与表 2 链接,但没有成功。我知道我可能仍然需要格式化 Datetime 以仅选择小时,但我感觉完全被卡住了。

这是我在表 1 中的内容:

enter image description here

在表 2 中:

enter image description here

我正在寻找这样的东西:

enter image description here

代码如下:

 var data = google.visualization.arrayToDataTable([

 ['Datetime','Value1', 'Value2'],
 <?php 

 $query =   "SELECT table1.Datetime, table1.Value1, table2.Value2 ".
            "FROM table1 ".
            "WHERE table1.Datetime = table2.Datetime ".
            "ORDER BY table1.Datetime ASC ".
            "LIMIT 24";

             $exec = mysqli_query($con,$query);
             while($row = mysqli_fetch_array($exec)){

             echo "[
             '".$row['Datetime']."',
             ".$row['Value1']." ,
             ".$row['Value2']."
             ],";
             }
             ?>     

 ]);

注意:我将图表限制为 24 行,因为插入新数据时(每小时),仅显示最近 24 小时的数据。

最佳答案

我正在回答我自己的问题,但这要感谢 WhiteHat 在评论中提供的反馈。

第一个问题:我没有在 FROM 子句中包含第二个表。

第二个问题:我的数据示例不好,因为我有重复的日期时间值。

第三个问题:通过在代码中添加HOUR函数解决了表格之间的小时匹配问题。见下文:

var data = google.visualization.arrayToDataTable([

 ['Hour1','Value1', 'Value2'],
 <?php 

 $query =   "SELECT HOUR(table1.Datetime) AS Hour1, table1.Value1, table2.Value2 ".
            "FROM table1, table2 ".
            "WHERE HOUR(table1.Datetime) = HOUR(table2.Datetime) ".
            "ORDER BY table1.Datetime ASC ".
            "LIMIT 24";

             $exec = mysqli_query($con,$query);
             while($row = mysqli_fetch_array($exec)){

             echo "[
             '".$row['Hour1']."',
             ".$row['Value1']." ,
             ".$row['Value2']."
             ],";
             }
             ?>


 ]);

关于php - 如何使用 Google Charts 和 MySQL 在具有相同小时(日期时间)的不同表中显示数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56447444/

相关文章:

php - SQL : keep count in row or select count from db

mysql - 使用另一个数据库中的字段更新字段,其中两个数据库中的字段都匹配

php从mysql查询中选择输入复选框

mysql - 数据库设计: split column with multiple data types

java - Derby : No Current Connect?

php - 查询发生时如何到 "close"数据库?

php - 从 Android 到 MySQL Blob 的图像

sql - 无法加入备忘录、OLE 或超链接对象 - Access 2007 - 外部联接

php - 如何对时间戳进行 strtotime,或者如何最好地处理 SQL 日期?

数据库访问 excel 格式化或 if 语句或分组