如何在 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.
希望这对您有所帮助。如果您对此主题有任何其他问题,或者需要一些说明,请告诉我。
我如何在 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.
希望这对您有所帮助。如果您对此主题有任何其他问题,或者需要一些说明,请告诉我。