小编mrt*_*get的帖子

每天授予用户一分

使用PHP/mySQL,用户每天被授予其成员帐户的单个整数点.我将用于确定是否应该授予一个点的数据是这些mysql字段:创建日期(时间戳)和上次登录(UNIX时间).

授予这些积分的程序在用户登录时确定.我的问题是,确定自上次登录以来已经过了多少天的最有效方法是什么?其次,如果用户每天登录,我如何确定是否已经过了24小时并且要授予一个点?过去的天数相当于给定的分数(每天1个).

目前我正在使用此代码:

/*
** Updates Points based on days since last visit
*/
static function UpdatePoints($username)
{
    $getlog = System::$mySQL->Select("lastLog, creation FROM users WHERE username='$username'");
    $log = System::$mySQL->Fetch($getlog);

    $offset = (TIME() - $log['lastLog']) / 86400;  // 24hrs
    $lastlog = round($offset); // in days

    if($lastlog > 0)
    {
        System::$mySQL->Update("users SET points=points+".$lastlog." WHERE username='$username'");
    }
}
Run Code Online (Sandbox Code Playgroud)

除了标记,很明显我的代码是短视的.如果用户每天登录一次,他们就无法获得积分.因此,我必须使用" 创建日期"字段确定正确的方法.我今天无法绕过它,有什么建议吗?谢谢.

php mysql timestamp unix-timestamp

5
推荐指数
1
解决办法
232
查看次数

标签 统计

mysql ×1

php ×1

timestamp ×1

unix-timestamp ×1