我正在研究一个“社区”.当然,我希望能够判断用户是在线还是离线.
我已经创建了这样,当你在我的表中登录UPDATE的行为1(默认为0)然后它们在线.当他们退出时他们处于离线状态.但如果他们没有按下退出按钮,他们将在线,直到他们按下该按钮.
所以我想创建的是:
>在不活动5分钟后,我的数据库中的行应该更新为0.
我正在寻找的是如何以最简单的方式做到这一点.每次加载页面时,我应该创建一个mysql_query,其中UPDATE的行为1.或者还有另一种方法吗?
解决方法:
不使用布尔“在线”字段,而是使用DateTime.当用户向页面发出请求时,将DateTime更新为NOW().当您在线收集当前用户列表时,您的WHERE子句将类似于WHERE lastSeen> DATE_SUB(NOW(),INTERVAL 5分钟)
更新:检索个人在线状态.
选择if(lastSeen> date_sub(now(),interval 15 minutes),1,0)作为userid = $userid的表中的状态
标签:php,mysql
来源: https://codeday.me/bug/20190726/1541924.html