Я просматривал форум и обнаружил, что сообщения похожи, но не работают для меня, так что вот так.
Я пробую 2 вещи, во-первых: я создал флажок, который при выборе будет показывать результаты открытия магазинов. shop_open
и shop_close
- мои используемые столбцы, которые имеют тип данных time
(например, 07:00:00
). Когда пользователь выбирает и отправляет форму с установленным флажком, я хочу, чтобы что-то вроде CURTIME()
проверяло только текущее время, часы и минуты, а затем проверяло, находится ли текущий час: минута между значениями shop_open
и shop_close
, в котором должны отображаться магазины, открытые в указанное время.
Второй вариант состоял в том, чтобы иметь 2 поля ввода для ввода времени открытия и / или закрытия, чтобы увидеть, совпадают ли данные, как указано выше. Первый вариант звучит для меня лучше, если возиться с двумя вариантами, это приведет к шагам назад.
Вот мой запрос:
"SELECT shops.*, services.*, ratings.*, temp.total as final_total, CONCAT(shop_number, ' ', shop_location, ' ', shop_city, ' ', shop_province, ' ', shop_postcode) AS address FROM shops
inner join services on shops.shop_id=services.shop_id
inner join ratings on shops.shop_id=ratings.shop_id
inner join (select SUM(comfort + service + ambience + friendliness + spacious + experience )/(6) / COUNT(shop_id) AS total, shop_id FROM ratings GROUP BY shop_id ) as temp on shops.shop_id=temp.shop_id HAVING temp.total >= '$search_total_rating'
AND CURTIME() BETWEEN shop_open AND shop_close
AND address LIKE '%$search_shop_address%' AND shop_name LIKE '%$search_shop_name%' ORDER BY shop_name ASC
Я знаю, что это сложный и запутанный запрос, но он прекрасно работает без этой проблемы.
Код, который вы предложили, я уже использовал, но в других обстоятельствах из-за моего запутанного сложного запроса, я думаю, я поставил его не в том месте: s
Я не собираюсь использовать
'$ search_open_now' МЕЖДУ shop_open И shop_close
вместо получения текущего времени и возвращает неправильные результаты: (