Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Выборка и сравнение
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Выборка и сравнение

Страниц (1): [1]
 

1. webog - 27 Декабря, 2016 - 22:04:56 - перейти к сообщению
Всем добра!

Парни, такая проблема... Не могу решить...

Есть таблица выдачи бонусов. Получать каждый день можно.
Как узнать когда пользователь получал бонус? Вчера или позавчера!?.

Структура таблицы:
Структура таблицы (Отобразить)

Время в UNIX.

Можно как на PHP так и MySQL.

Спасибо! Улыбка
2. Sail - 28 Декабря, 2016 - 08:12:33 - перейти к сообщению
webog, например:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT datediff('2016-12-28', '2016-12-27'), datediff('2016-12-28', '2016-12-26'), datediff('2016-12-28', '2016-12-25');

Для преобразования из unixtime в вид int существует функция from_unixtime();
(Добавление)
Ну, и в классе DateTime есть метод diff()
И, соответственно: DateTime::createFromFormat(), с форматом "U".
3. webog - 28 Декабря, 2016 - 19:32:24 - перейти к сообщению
Sail, тоже так думал.

А можно как то автоматически? Например константа 10 дней. Т.е. 10 дней назад проверяем от сегодня.

Фор + вайл или еще как-то...
4. andrewkard - 28 Декабря, 2016 - 19:52:44 - перейти к сообщению
webog
пишите время выдачи бонуса strtotime('midnight');
при следующей выдачи сверяете, если равны - бонус не положен Улыбка
5. webog - 29 Декабря, 2016 - 00:33:17 - перейти к сообщению
andrewkard, я по датам вывожу. У меня в базе хранится дата получения и дата +1 сутки.
Мне автоматом нужно проверить от сейчас до, допустим, 5 дней. Сколько дней и какие дни не получен был бонус.
6. Sail - 29 Декабря, 2016 - 08:35:22 - перейти к сообщению
webog, вместо приведенных для примера дат используйте необходимые, полученные, например, в результате выполнения функции CURDATE(), или NOW(), и/или взятые из соответствующего поля БД (предварительно пропущенные через from_unixtime()).
Для задания интервала можно использовать выражение CURDATE() - interval 10 day.
Ну и операторы и функции сравнения: between, и прочие...

 

Powered by ExBB FM 1.0 RC1