允许每隔几个小时使用mysql和php访问一个游戏,而不需要长代码


Allow access to a game every few hours using mysql and php without long code?

我编写了一些游戏供会员们玩。我通常允许成员每天玩游戏,我有一个cronjob在午夜重置值,以允许第二天再次访问游戏。

我构建了一个新游戏,我希望它允许成员每2小时玩一次。我意识到我不能在cronjob中这样做,因为成员们会在不同的时间玩游戏。

我知道这可能听起来很糟糕,但我不是很熟悉时间戳,所以我真的不知道从哪里开始。直到现在我才真正有理由去研究它。我猜时间或现在的功能将完成这一比较,但再次我找不到相关的情况在手册中做这个与mysql和成功提交相同格式的数据。

我见过其他程序员以某种方式这样做的例子,但似乎他们花了不必要的时间来让它工作。我所看到的示例将在我的代码中添加许多行。

如果这是一个重复的问题,我很抱歉,但我不知道在这种情况下该搜索什么关键词。所有我得到的是javascript倒计时

你需要的第一件事是确定每个成员何时玩过游戏。因此,您需要创建一个包含以下信息的表:

MemberID
GameID (In case you want to support more than just 1 game in the future using this model)
DateTimePlayed

所以现在你要解决的第一个问题是"玩家X在过去2小时内玩过游戏Y吗?"这可以通过一个简单的查询来解决:

SELECT * FROM MemberGameHistory WHERE MemberID = X and GameID = Y and DateTimePlayed > DATE_SUB(NOW(), INTERVAL 2 HOURS)

如果你很高兴他们没有玩,并决定让他们进来,那么你需要插入一行,以便下次你运行查询时,你会看到他们已经做了:

INSERT INTO MemberGameHistory (MemberID, GameID, DateTimePlayed) VALUES (X, Y, NOW())

那解决你的问题了吗?