【问题标题】:How to update mysql database automatically after every second?如何每秒自动更新mysql数据库?
【发布时间】:2018-12-23 15:27:15
【问题描述】:

我想更新数据库中用户的“last_activity”或“last_seen”值。 我编写了以下代码来实现这一点:

$_SESSION['LAST_ACTIVITY'] = time();
$lastseen = $_SESSION['LAST_ACTIVITY'];
$lastseen = date("h:i:sa",$lastseen );

$query = "UPDATE `users` SET `lastseen` = '$lastseen' WHERE `username`='$username'";
$query_run = mysql_query($query);

但问题是上面的代码只会运行一次。我希望它每秒运行一次,这样我就可以获得'last seen'的最新值。

PS:我在网上搜索了很多,但没有得到具体的答案。请帮助我。

【问题讨论】:

  • Activity 应该在用户加载新 url 时更新,例如。或执行与服务器交互的任何其他操作。我可以打开你的页面,出去玩 6 个小时。你会认为我是主动的?我可以在我的浏览器中打开你的 1K 页面,你的服务器将被 ddos​​ed。
  • 您需要通过长 ajax 轮询或使用 socket.io 来加载服务器脚本
  • 你不会“希望它每秒运行一次”一旦你达到一定数量的用户,这听起来对你的服务器来说有点矫枉过正。仅在用户执行操作时更新 last_seen
  • 请问各位大神能给个代码吗?
  • 如果“last_activity”只涉及一个用户:使用 Ajax 更新数据库中的内容 + 重新加载新内容而不刷新页面,这样用户就会看到“last_activity”

标签: php mysql database logging


【解决方案1】:

你不是真的想要 - 相信我......

还可以

使用 javascript 对更新数据库的 php 页面进行异步调用... 如果您使用 jquery,请使用内置函数

https://api.jquery.com/jquery.get/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 2021-11-08
    • 2015-04-12
    • 1970-01-01
    相关资源
    最近更新 更多