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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выборка и сравнение

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
webog
Отправлено: 27 Декабря, 2016 - 22:04:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 242
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Всем добра!

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

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

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

Время в UNIX.

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

Спасибо! Улыбка


-----
Hello!
 
 Top
Sail
Отправлено: 28 Декабря, 2016 - 08:12:33
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




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".

(Отредактировано автором: 28 Декабря, 2016 - 12:44:07)

 
 Top
webog
Отправлено: 28 Декабря, 2016 - 19:32:24
Post Id


Частый гость


Покинул форум
Сообщений всего: 242
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Sail, тоже так думал.

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

Фор + вайл или еще как-то...


-----
Hello!
 
 Top
andrewkard
Отправлено: 28 Декабря, 2016 - 19:52:44
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




webog
пишите время выдачи бонуса strtotime('midnight');
при следующей выдачи сверяете, если равны - бонус не положен Улыбка
 
 Top
webog
Отправлено: 29 Декабря, 2016 - 00:33:17
Post Id


Частый гость


Покинул форум
Сообщений всего: 242
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


andrewkard, я по датам вывожу. У меня в базе хранится дата получения и дата +1 сутки.
Мне автоматом нужно проверить от сейчас до, допустим, 5 дней. Сколько дней и какие дни не получен был бонус.


-----
Hello!
 
 Top
Sail
Отправлено: 29 Декабря, 2016 - 08:35:22
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




webog, вместо приведенных для примера дат используйте необходимые, полученные, например, в результате выполнения функции CURDATE(), или NOW(), и/или взятые из соответствующего поля БД (предварительно пропущенные через from_unixtime()).
Для задания интервала можно использовать выражение CURDATE() - interval 10 day.
Ну и операторы и функции сравнения: between, и прочие...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB