2013-12-22 53 views
0

我已经在网站上检查了类似的问题,但我无法理解它的工作原理。在我的数据库中,我有3列 - id,namepassword。我需要将什么添加到我的数据库中,以及如何获取最近24小时的记录?如何从MySQL中使用php获取最近24小时的记录

mysql_query("select * from core With-in the last 24 hours"); 
+0

也许你可以使用其中一些类似的问题,并向我们展示你的尝试,或者至少链接到一个,并解释你不了解的内容。 – GolezTrol

+0

这是什么工作= date_field> NOW() - INTERVAL 24 HOUR“ – user3117548

回答

0

你可以添加一列TS到表

ALTER TABLE core 
ADD COLUMN ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; 

这是一个时间戳和每次插入或更新行的时间会自动设置为当前时间的机器上。
然后,您可以做

SELECT id, name, password FROM core 
WHERE TIMESTAMPDIFF(HOUR, ts, NOW()) < 24; 

它应该返回过去24小时内添加或更新条目。

+0

我在数据库名称日期添加一列,我存储的日期是这种格式2013-12-22 23:09:24。现在如何处理查询 – user3117548

+0

如果该列的类型是DATE,DATETIME或TIMESTAMP,则可以将它与TIMESTAMPDIFF()一起使用。只需将_ts_替换为日期保留栏的名称即可。 – Mellow

+0

我很困惑与时间戳.acctully在我的数据库我有id,名称,密码和日期(type = varchar)。现在我必须添加才能获得最后24小时的记录..并且非常感谢您的快速回复 – user3117548

0

您应该再添加1列以保存日期。接下来,您可以使用此列来选择数据:

mysql_query("select * from `core` where date_field > NOW() - INTERVAL 24 HOUR"); 
+0

这是什么工作= date_field> NOW() - INTERVAL 24 HOUR” – user3117548

+0

date_field - 您用于保留日期的字段,您可以更改它到'ts'。我假设'ts'是你的日期字段的名称。现在() - INTERVAL 24 HOUR“);' – immo

+0

http://dev.mysql.com/doc/refman/5.5/en/ date-and-time-functions.html date_time_value + | - INTERVAL n DAY | HOUR | MONTH等 对我来说,更好的表达方法是从指定时间开始添加或减少时间跨度。 – immo

0

试试:

SELECT * 
FROM core 
WHERE DATE(Time) = DATE(CAST(NOW() - INTERVAL 1 DAY AS DATE)) 
+0

我在数据库名称日期添加一列我在哪里存储日期是这种格式2013-12-22 23:09:24。 现在如何处理查询 – user3117548

相关问题