十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这个问题我遇到过,如果你在MYSQL端用日期来查询,是很难避免这种情况的,所以这种情况下,你就得迭代一次一次去查询每一天的统计,我上次是用MySQL直接查的。后来还得重新判断日期,没有的默认为0,听恶心的,
创新互联主营聊城网站建设的网络公司,主营网站建设方案,APP应用开发,聊城h5小程序定制开发搭建,聊城网站营销推广欢迎聊城等地区企业咨询
“未来”7天?未来的数据怎么显示啊。。。你这个问题太模糊了,也没给个数据表结构。
我猜测是像天气预报里的“未来七天”的概念吧。
还有,这个数据表的时间字段类型是什么?datetime 还是 timestamp?
如果是datetime需要转换一下。
$now=date();//获取当前timestamp
$sevenDaysLater=$now+60*60*24*7;//获取7天后timestamp
$endtime=date("Y-m-d ",$sevenDaysLater).' 24:00:00';//如果字段类型是datetime将7天后timestamp转换为datetime
$endtime=$sevenDaysLater;//如果字段类型是timestamp的话就不用转换
然后在sql里边用where语句,我不知道你的数据表结构所以没法写完全,差不多像这样:
'where endtimeNOW() AND endtime '.$endtime
今天
select * from 表名 where mytime(时间字段名) = mytime(now());
昨天
select * from 表名 where mytime( now( ) ) - mytime( 时间字段名) = 1
7天
select * from 表名 where date_sub(cur(), interval(7 day = date(时间字段名)