Wyszukiwanie aktualnie pracujących serwisów

0

Witam,
mam problem natury logicznej ;) Otóż, mam tabelę serwisów w której każdy serwis określa godziny pracy w dni dni powszednie, osobno w soboty i niedziele. Na stronie chcę dodać w wyszukiwarce możliwość dodania checkboxa "Znajdź pracujący serwis" który wybierałby z bazy MySQL serwis który aktualnie znajduje się w zakresie godzin pracy.

Godziny pracy określane są jako od - do -> liczby całkowite od 01-24.
W bazie wygląda to tak:

work_hours_week_from:     { type: integer }
work_hours_saturday_from: { type: integer }
work_hours_sunday_from:   { type: integer }
work_hours_week_to:       { type: integer }
work_hours_saturday_to:   { type: integer }
work_hours_sunday_to:     { type: integer }

Problemu nie ma kiedy serwis pracuje do godz. 24. Natomiast gdy doba jest złamana - od 14 do 03 - pojawia się problem. Jaki warunek w MySQL logiczny postawić aby wybierał poprawne rekordy?

...Where service.work_hours_week_from <= date('H') AND service.work_hours_week_to >= date('H')

Powyższy kod zadziała tylko w zakresie do 24. Macie na to jakiś pomysł?

1

jak czegoś nie popierdzieliłem to tak where (od < do and h >= od and h <= do) or (do < od and (h >= od or h <= do))

0

Dzięki za pomoc :) Po pewnej modyfilacji zadziałało :) Poniżej code :)

...
((ps.work_hours_week_from < ps.work_hours_week_to and H >= ps.work_hours_week_from and H <= ps.work_hours_week_to) or (ps.work_hours_week_from > ps.work_hours_week_to and (H >= ps.work_hours_week_from or H <= ps.work_hours_week_to)))
// H to aktualna godzina 
...

1 użytkowników online, w tym zalogowanych: 0, gości: 1