【问题标题】:settimeout php sql [closed]settimeout php sql [关闭]
【发布时间】:2017-02-13 18:52:10
【问题描述】:

我正在使用 php、sql、javascript 我正在构建一个好友请求系统,如果用户 1 向用户 2 发送好友请求,用户 2 有 1 小时的时间接受该好友请求或好友请求被自动拒绝/删除. . .我可以使用 settimeout 来运行该功能,但如果刷新页面,该功能不再有效,即使两个用户都不再在线,我也需要它能够运行。 . .因此,如果在发送好友请求时 user-1 和 user-2 都在线。 . .用户 2 和用户 1 退出,我需要在发送后 1 小时内删除好友请求,我很确定该功能需要在服务器上运行,或者只是不确定我需要什么方向来看看吧!只是困惑也许我可以使用php中的一个函数?

【问题讨论】:

  • 在数据库中存储带有初始好友请求的时间戳。然后,当您查询任何新的好友请求时,您可以添加 where 子句 and currentTime < [timestamp + 1 hour] 或运行查询以删除任何超过 1 小时的好友,然后再将它们查询出来。执行第一个选项允许您保存查询,然后您可以像每天一样使用 cron 运行一个查询以删除旧朋友请求。
  • 非常有意义,谢谢

标签: javascript php html sql settimeout


【解决方案1】:

您可以将时间存储在数据库中。
因此,当 user1 向 user2 发送好友请求时,您将向数据库发出请求并存储在表 user1_id user2_id request_time 中。
比,在一段时间内你必须检查是否

当前时间 > 存储时间 + 1 小时
如果是,请删除好友请求。

【讨论】:

  • 哇,谢谢,听起来很简单
【解决方案2】:

除了@Grynets 所说的,我还将使用 CRON 任务在下班后自动从数据库中删除请求。这样你会节省很多地方。想象一下朋友 1 从来没有来检查请求,它将留在数据库中。
您可以在此链接中了解有关 cron 的更多信息https://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428

【讨论】:

  • 如果他们永远不会回来,很棒的插件我现在就去看看。 . .这很重要
猜你喜欢
  • 1970-01-01
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
相关资源
最近更新 更多