我创建了这个网站:http://temperatur.co.nf/year.php 它是一个温度记录仪,每1小时以平均值读取最后24小时的读数,并将其绘制在图表上。
我想改变这一点,以显示2015年的所有读数,每天都有。 那么我想从2016年获得二次数据。
问题: - 如何只读一年的数据? - 如何将两个不同年份的读数放在同一个图表中,以便两个读数在同一个日期?
我喜欢使用图表比较两年
数据库有一列(时间)和一列温度(out_temp)
我目前的计划:
{
var data1 = google.visualization.arrayToDataTable(
[
['date','Outdoor'],
<?php
// select average readings select * from readings where year(date) = 2015
$result = mysql_query("SELECT DATE_FORMAT( date , '%d.%c.%y %H:%i') AS Time1, AVG( out_temp ) AS out_temp FROM $table WHERE TIMESTAMPDIFF(HOUR,date, now()) < $hours GROUP BY ROUND( UNIX_TIMESTAMP( date ) DIV ($avg*3600) ) ");
if ($result !== false)
{
$num=mysql_numrows($result);
$i=0;
while ($i < $num)
{
$time=mysql_result($result,$i,"Time1");
$out_temp=mysql_result($result,$i,"out_temp");
echo "['";
echo "$time";
echo "',";
echo "$out_temp";
echo "]";
if ($i < ($num - 1)){
echo ",";
}
$i++;
}
}
?>
]);
var options1 =
{
title: 'Temperatures',
curveType: 'function',
legend: {position: 'bottom'},
animation:{duration: 1000,easing: 'in',startup: true},
vAxis: {viewWindowMode:'explicit',viewWindow: {max:35,min:-10} }
};
var chartA = new google.visualization.LineChart(document.getElementById('chart_div'));
chartA.draw(data1, options1);
}
答案 0 :(得分:0)
如何只读一年的数据?
select * from table where YEAR(date_field)=2016
如何将两个不同年份的读数放在同一个图表中,以便两个读数在同一个日期?
select * from table where YEAR(date_field)=2016 or YEAR(date_field)=2015