2013-12-22 52 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

相關問題