如何在 php 和 mysql 中制作定时奖励系统

How to make a timed reward system in php and mysql

我如何在 PHP 中制作一个奖励系统,它有一个计时器并在他们点击它后设置一个计时器一段时间,然后 mysql 将一个随机值插入 table?

我正在做一个项目,我希望用户像使用比特币水龙头一样积累游戏内货币。

一个简单的方法是使用包含金额和日期时间的 table 来跟踪用户 "currency"。用户的余额将只显示日期时间早于当前时间的条目。这样,您可以立即插入条目,然后它只在您需要时才生效。

rowid |  user_id   |  amount  |      activetime       |
-------------------------------------------------------
90000 |     1      |  0.01    |   12:13:12 01-16-15   |
90001 |     1      |  0.01    |   12:13:12 02-16-15   |

在插入时,您可以将活动时间设置为 DATE_ADD(NOW(), INTERVAL 2 HOUR) 这样它会在 2 小时后显示。

添加一行的示例:

INSERT INTO transactions 
    (user_id, amount, activetime) 
VALUES 
    (1, 0.01, DATE_ADD(NOW(), INTERVAL 2 HOUR))

获取用户当前余额的示例:

SELECT SUM(amount) AS balance FROM transactions WHERE activetime <= NOW()

此外,如果您想对用户进行速率限制,现在可以很容易地检查他们是否已经单击了按钮,因为会有一个大于当前时间的条目。您可以像这样快速查询:

SELECT 1 FROM transactions WHERE activetime > NOW() LIMIT 1

那么在php中,如果num_rows()为1,说明他们已经点击了按钮,正在等待支付。否则它将 return 0.

希望这对您有所帮助。如果您对此主题有任何其他问题,或者需要一些说明,请告诉我。