计算每天在网站上花费的时间

时间:2017-12-30 19:51:19

标签: php login

我搜索了互联网,但没有发现任何相关内容。

我有这个login.log文件,我将在MYSQL中导入。我想计算每个用户每天花费的分钟数。我的计划是在每次登录后使用触发器向表中插入时间,当有注销时,触发从now()减去之前的登录时间并计算新表中的时间。

您如何看待这种方法?
分钟将等于((logout time)-(login time)) + ((logout time)-(login time)),依此类推。有没有其他方法可以更好或更好地做到这一点?

这是表格的样子:

每位用户可以全天多次登录/退出(connect=login=enter-roomdisconnect=logout=quit)。

这是日志文件的示例:

  

5/30/2017 12:00匿名d4dfa596-f02d-40b4-b059-eff86dfe6492连接
  5/30/2017 12:00 user46172 d4dfa596-f02d-40b4-b059-eff86dfe6492登录
  5/30/2017 12:00 user46172 d4dfa596-f02d-40b4-b059-eff86dfe6492进入房间 -
  5/30/2017 12:00匿名72d76b17-a8f0-442a-a860-49483bf72a6e连接
  5/30/2017 12:00 guest5528 72d76b17-a8f0-442a-a860-49483bf72a6e登录
  5/30/2017 12:00 guest5528 72d76b17-a8f0-442a-a860-49483bf72a6e进入房间 -
  5/30/2017 12:00 guest7632 0321676a-f22f-4d2f-acca-b8759e349ab6 disconnect
  5/30/2017 12:01 user46172 d4dfa596-f02d-40b4-b059-eff86dfe6492退出房间 -
  5/30/2017 12:01 user46172 d4dfa596-f02d-40b4-b059-eff86dfe6492注销
  5/30/2017 12:02 jdoe d4dfa596-f02d-40b4-b059-eff86dfe6492登录
  5/30/2017 12:02 jdoe d4dfa596-f02d-40b4-b059-eff86dfe6492注销
  5/30/2017 12:02 jdoe d4dfa596-f02d-40b4-b059-eff86dfe6492登录
  5/30/2017 12:02 jdoe d4dfa596-f02d-40b4-b059-eff86dfe6492进入房间 -
  5/30/2017 12:02 Anonymous 186e5eae-d279-4a66-b556-0fa4a5b179d4 connect

1 个答案:

答案 0 :(得分:0)

你是如何写日志的?当日志写入时,您可以在登录或注销时插入到表中吗?通过这种方式,您可以避免触发器,这些触发器非常棒,直到其他人接管代码并且想知道操作表时发生了什么魔法!只要您拥有所有登录和退出时间;您可以让查询获取每天的最小值(登录时间)和最大值(退出时间)并计算差异。

我发现最好将所有数据放入日志表中,然后使用查询来提取您需要的内容,即使这些内容被放入另一个“缓存”中。表格可以节省进一步的处理费用。