2015-09-13 56 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中分割字符串。

相关问题