我是使用PHP和MSQL的初学者,无法正确过滤表的结果。我想给我看表中所有保持条件的字段,即我存储的日期和时间仍然有两个小时。
我使用了此查询,但效果不佳,因为如果当前月份为12,并且未显示在数据库1中,那么即使存储的时间少于2小时,甚至另一天也是如此:
putenv('TZ=Europe/Madrid');
$anoE = date("y");
$mesE = date("m");
$diaE = date("d");
$horaE = date("H");
...
$consulta = "SELECT tipo,nombre,descripcion,hora,minuto ,lugar,duracion,fecha,horacero,id,ano,dia,mes,equipo FROM ".$tabla." WHERE ".$anoE." <= `ano` AND ".$mesE." <= `mes` AND ".$diaE." <= `dia` AND ".$horaE." <= `(hora+2)` ORDER BY ano,mes,dia,hora,minuto";
我不知道如何为查询编写while条件,以显示超出当前时间(同一天)两小时的字段
最佳答案
如果您的字段类型是DATETIME
(如果不是,请输入),您可以使用简单的查询:
SELECT *
FROM table_name
WHERE datetime_field_name BETWEEN DATE_SUB(NOW(), INTERVAL 2 HOUR) AND NOW()
它将选择
now - 2 hours
和now
之间的所有记录。