我正試圖通過"Open Till at least"
過濾器搜索場館。返回未來的運行時間
我遇到的問題是,有些場館通過8AM
小時操作以6PM
,有的從10PM
到3AM
。一個不錯的SO成員幫助我創建了這個代碼,但是當我嘗試修改它進行搜索時,我注意到了一個問題。
如果我查詢的場地,是開放till at least 20:00
,口試場地開放時間爲11AM
到21:00
,那麼一切都OK 。
但是,如果我查詢開放時間爲till at least 20:00
且營業時間從21:00
到03:00
的場地,則返回closed
。
如何顯示仍然關閉的場館的營業時間?
這裏是我的代碼:
SELECT
e.VENUE_NAME,
hrs.opening_day,
hrs.opening_time,
hrs.closing_time
FROM hours_of_operation hrs join venues e
on hrs.venue_id = e.id
and not is_closed
and ((hrs.opening_day=date_format('$phpWhenDate' - INTERVAL (closing_time<opening_time and time('$phpWhenDate')<closing_time) DAY, '%a'))
AND (closing_time<opening_time XOR
(time('$phpWhenDate') >= least(opening_time,closing_time)
and time('$phpWhenDate') < greatest(opening_time, closing_time))))
dataWhenDate
看起來是這樣的:2013年2月21日04:00:00
基本上,我使用滑塊來選擇多久,我想會場至少打開,並且生成要發送的日期。
謝謝大家!
我真的很希望你[正確地轉義你的SQL值](http://bobby-tables.com/php),否則你很快就會有一個非常糟糕的日子。 – tadman 2013-02-20 20:10:44