Задать вопрос
@aassdds
Люблю борщ и PHP

Как выбрать запись из БД по промежутку во времени?

День добрый всем !

Недавно дали новый проект - и столкнулся с следующим заданием

Юзер сайта может создать какой нить ивэнт, и при этом указать дату и время его старта, а так же дату и время его окончания

Ну а сервер потом должен эти ивэнты знач показать
Но - те ивенты, дата и время старта которых еще не наступила - показывать не надо

Вот собственно вопрос - как это лучше реализовать в БД
я думал вот так :
id
ivent_text
date_start (DATETIME)
date_end (DATETIME)

и потом в sql запросе сравнивать -
SELECT * FROM table WHERE date_start<CURDATE() AND date_end>CURDATE()


но чет не хочет работать...
потом нашел что помимо CURDATE есть CURTIME
получается мне надо добавить еще 2 поля в табличку (time_start, time_end) записывать в них сллтв время, и сравнивать уже по 4м полям сразу....

У меня такое чувство, что я делаю велосипед....
Можно ли как нибудь сделать это попроще ?
  • Вопрос задан
  • 207 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@kirill-93
Все правильно вы думаете, так и реализовывайте, только тип поля не DATETIME, а DATE, тогда все будет работать в вашем примере, но это если только по дате сравнивать. Или используйте DATETIME и NOW(), чтобы и по дате и по времени
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Writerim
@Writerim
Заполнить позже...
SELECT * FROM start < NOW() AND stop > NOW()

можно так сравнивать как вариант
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽