2015-09-13 85 views
1

Hello今天我編寫了一個系統,其中記錄了每個用戶登錄並使用PDO for MySQL插入到數據庫中,並且使用下面的PHP代碼記錄了每個登錄日期和日期,將每個值填入我的稱爲user_logins的MySQL數據庫表中。我登錄下面的日期字符串的登錄...從今天開始使用特定的php日期時間戳獲取值

date("D dS F H:i:s") 

輸出「星期六9月12日20點59分33秒」(例如),但我試圖做的就是讓所有的值從user_logins表,但只有在今天發生時才能得到它們。所以基本上我想把我目前擁有的系統(顯示所有最近的登錄名)只顯示今天發生的今天登錄?

請不要問我另一個問題,因爲他們的問題對我使用不同的date()方法,以及我已經檢查並且不成功的大多數問題。

+0

您使用了哪個數據類型用於上次登錄字段? – markdwhite

+0

一個varchar,在問題中使用php中的date()。 –

+1

使用正確的數據類型。這不是一個字符串:這是一個日期。日期數據類型可以輕鬆與查詢中的其他日期進行比較,例如:「select * from user_logins where last_login> date_sub(now(),date_interval('24 hours'))」。 (從內存中,可能的拼寫錯誤) – markdwhite

回答

1

您必須更改日期的字段類型,並使用2015-09-13 12:12:12格式將其設置爲datetime

然後你會被添加到WHERE子句

WHERE date(date_field) = CURDATE() 

雖然顯示數據有今天的活動數據,你必須把它利用DATE_FORMAT()或PHP,使用的strtotime()和日期(格式無論是在SELECT )frunctions。

這就是數據庫的工作原理,並且越早學習它,您就可以節省更多時間。

+0

如何將「2015-09-13 12:12:12」格式化爲如何顯示日期(「D dS F H:i:s」)? –

-1

您可以將日期字段拆分爲子字符串,然後比較那些日期和月份字段。嘗試this以瞭解如何在MySQL中分割字符串。

相關問題