php mysql今天,昨天和数据库的日期

时间:2014-07-11 07:34:00

标签: php mysql date

我试图在用户退出时保存日期,以便他可以找到上次登录的日期,我正在使用此代码:

 mysql_query("UPDATE `table` SET `lastLog` = now() WHERE user_id = '".$_SESSION['userID']."'"); 

将正确地给出上次登录的历史记录和时间,但是如果最后一次登录是今天,我希望代码今天显示该单词,如果最后一次登录是昨天,我希望代码显示昨天。并且在昨天之后我想仅显示常规日期,例如,如果我在三天前退出,那么值应该是这样的:8/7/2014。是否有一种简单的方法可以做到。

3 个答案:

答案 0 :(得分:3)

    $result = mysql_query("select lastLog from `table` WHERE user_id = '".$_SESSION['userID']."'"); 
    while($row = mysql_fetch_array($result))
        {
         $last_login = $row['lastLog '];
        }

if($last_login  == date('d.m.Y'))
echo "its today";

if($last_login  == date('d.m.Y',strtotime("-1 days")))
echo "it was yesterday";

else
echo 'it was '.$last_login;

答案 1 :(得分:2)

首先,您将要使用MYSQLI而不是mysql。 Mysql已经过时并且已弃用,MYSQLI是mysql php语法中更新,更稳定的子代。

其次,这应该指出你如何实现你所需要的正确方向。

$today = date('FORMAT OF DATE FROM QUERY');
$yesterday = date('FORMAT OF DATE FROM QUERY', strtotime("yesterday"));

if ($result === $today) {
    $result = "today";
}
elseif ($result === $yesterday) {
    $result = "yesterday";
}

答案 2 :(得分:1)

如果您想选择数据并显示'今天/昨天'或者'日期'取决于您可以在查询中使用case-when

的值来执行此操作
select
col1,
col2,
.....
case 
when date(lastLog) = curdate() then 'Today' 
when date(lastLog) = curdate()-INTERVAL 1 day then 'Yesterday'
else lastLog
end as lastLog
from `table`
相关问题