Как я могу создать систему вознаграждений в PHP, которая имеет таймер и устанавливает таймер на определенное количество времени после того, как они щелкают по нему и mysql вставляет случайное значение в таблицу?
Я делаю проект и хочу, чтобы пользователи накапливали внутриигровую валюту, как если бы они использовали биткойн-кран.
Простой способ сделать это — отслеживать «валюту» пользователей, используя таблицу, в которой есть как суммы, так и даты. На балансе пользователя будут отображаться только те записи, которые имеют дату и время до текущего времени. Таким образом, вы можете вставить запись сразу, и тогда она будет запущена только тогда, когда вам это нужно.
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, они уже нажали кнопку и ждут оплаты. В противном случае он вернет 0.
Надеюсь, это поможет. Дайте мне знать, если у вас есть другие вопросы по этой теме, или если вам нужны пояснения.
Других решений пока нет …