Currentdate между неработающим в php запросе

У меня есть таблица mysql со столбцами section, is_date_based (значения Да / Нет), date_start, date_end и showhide

запрос

$query = "select * from tabele where section='Festival Wish' and ((is_date_based='No') OR (is_date_based='Yes' and (CURDATE() between date_start and date_end ))) and showhide='0' order by sort_order asc";

условие 1.: Теперь, если is_date_based='No' и showhide='0', строка должна отображаться ... И ЭТО РАБОТАЕТ ....

условие 2.: Но если id_date_based='Yes' и если current date-time - это between date_start and date_end и showhide='0', должна отображаться строка тогда и только тогда ...

........

но, к сожалению, условие 2 не работает даже с необходимыми значениями и данными в таблице mysql ...

структура таблицы mysql

section       is_date_based  showhide    date_start          date_end
Festival Wish   Yes            0       2018-09-01 05:00:00  2018-09-05 11:30:00
Festival Wish   No             0       0000-00-00 00:00:00  0000-00-00 00:00:00

Здесь отображается вторая запись, правильно с указанным выше запросом, но первая запись не отображается, даже если текущая дата находится между date_start и date_end ...

Опубликуйте вывод следующего оператора MySQL: SHOW CREATE TABLE tabele

Alex Shesterov 02.09.2018 20:13

добавить правильный образец данных и ожидаемый результат .. ..и какой тип данных - date_start и date_end? . они осмеливаются datetime или varchar ??

scaisEdge 02.09.2018 20:28

Пример структуры таблицы @AlexShesterov добавлен в отредактированный вопрос .. пожалуйста, прочтите вопрос еще раз ..

Dr Manish Lataa-Manohar Joshi 02.09.2018 20:30

Пример структуры таблицы @scaisEdge добавлен в отредактированный вопрос .. пожалуйста, прочтите вопрос еще раз ..

Dr Manish Lataa-Manohar Joshi 02.09.2018 20:30

date_start и date_end - это datetime или varchar ??

scaisEdge 02.09.2018 20:30

@scaisEdge date_start и date_end - это дата и время

Dr Manish Lataa-Manohar Joshi 02.09.2018 20:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
6
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

может быть вам нужно сейчас (), а не творог (.

Дата возврата curdate(), например, 2018-09-01 Дата возврата now() и время 2018-09-05 20:34:00 ..

может быть, вам также нужна корректировка времени для вашего образца, 11:30 прошло

$query = "select * 
        from tabele 
        where section='Festival Wish' 
        and ( (is_date_based='No') 
              OR (is_date_based='Yes' and (NOW() between date_start and date_end ))) 
        and showhide='0' order by sort_order asc";

Ох ... просто замена творога на СЕЙЧАС, работала как по волшебству ... Небольшое изменение имело для меня огромное значение .... спасибо ....

Dr Manish Lataa-Manohar Joshi 02.09.2018 20:34

@DrJManish .. curdate () возвращает только дату, а не время ..

scaisEdge 02.09.2018 20:35

Другие вопросы по теме