Здравствуйте! Расскажите пожалуйста, как сделать ежедневные награды подряд?
Допустим, я зарегистрировался на сайте первый раз, у меня будет писаться "вы заходите 0 дней подряд" и нечего не давать, потом если я зашёл на следующий деньги, мне пишет "я захожу 1 день подряд" и мне дают 3 * кол-во_дней, если я захожу ещё раз (2-й день) мне дают тоже самое, но сумма другая 3*2
Но если я какое-то день пропустил, мой счётчик обнуляется. Какие поля в базе нужны, что в них указывать? Как правильно проверять?
Ну например основные 2 поля, первое дата последнего входа, второе количество дней подряд.
При входе достаем последнюю дату входа, если она была вчера, то к количеству дней подряд ++ и выдаем подарок, если она была сегодня пропуск, если более 2х дней то количество дней подряд = 0.
Ну и записываем в последнюю дату входа текущую.
JTester, Вы серьезно? Можно средствами языка, можно средствами бд.
Например для такой таблицы
CREATE TABLE IF NOT EXISTS `userAwardStat` (
`id` int(6) unsigned NOT NULL,
`user_id` int(6) unsigned NOT NULL,
`last_date` date NOT NULL,
`count` int(6) unsigned NOT NULL DEFAULT 0,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
Такой запрос вернет в колонке result значение когда заходил вчера, сегодня или более 2х дней назад
SELECT IF(last_date = DATE_ADD( CURRENT_DATE, INTERVAL - 1 DAY ), 'вчера', IF(last_date = CURRENT_DATE, 'сегодня', 'более 2х дней назад')) as 'result' FROM userAwardStat WHERE user_id=3