程序有个功能,记录上次登录时间。我数据库里大概这样设计的。user表
username   lasttime   logintime
lasttime  记录上次登录时间。
logintime 记录本次登录时间。用户登录的时候,读出lasttime,并把本次登录时间,写到lasttime里面。那我在本次回话里面每次读上次登录时间,又都是本次登录的时间啊。我感觉这个记录本次登录的时间logintime,好像没有用。有点儿纠结。

解决方案 »

  1.   

    思考了一下。是不是这样比较合理。就一个字段,lasttime,记录上次登录时间。用户登录的时候,用date函数,取得现在时间。在读出lasttime,用个session,保存上次登录时间。完了,马上更新数据库里面的lasttime=date()。马上把现在时间更新到lasttime。这样我在整个回话里面都是上次登录的时间。只是开始的时候读取一下lasttime,完后在整个会话过程中,就读session里面的lasttime。不知道,大哥们,都是怎样弄的。我是这么想的,是否合理呢。
      

  2.   

    楼主的问题好像和数据库设计没什么关系啊。 无论怎么设计都可以。数据库中是为了持久保持数据。 如果 lasttime, logtim仅是为了状态,则建议还是直接在程序中实现。
      

  3.   


    $time = time();
    $sql = "update user set  `lasttime` = `logintime`, `logintime` = {$time} where username = 'xxxx'";
      

  4.   

    怎么设计都可以,方法很多。登录时,记录本次登录时间,然后取得上次登录时间,方法很简单,select max(登录时间) from tt where 登录时间 < 本次登录时间。