Trong PHP và MySQL - làm cách nào để xác định xem Cửa hàng đang mở hay Đóng (trả lại đúng hay sai)?Xác định xem cửa hàng có mở không?
Cũng như thế nào để có được những giờ mở cửa tiếp theo nếu các cửa hàng đóng cửa?
Ví dụ về Opening_Hours
bảng:
+----+---------+----------+-----------+------------+---------+
| id | shop_id | week_day | open_hour | close_hour | enabled |
+----+---------+----------+-----------+------------+---------+
| 1 | 1 | 1 | 16:30:00 | 23:30:00 | 1 |
| 2 | 1 | 2 | 16:30:00 | 23:30:00 | 1 |
| 3 | 1 | 3 | 16:30:00 | 23:30:00 | 0 |
| 4 | 1 | 4 | 16:30:00 | 23:30:00 | 1 |
| 5 | 1 | 5 | 10:00:00 | 13:00:00 | 1 |
| 6 | 1 | 5 | 17:15:00 | 00:30:00 | 1 |
| 7 | 1 | 6 | 17:15:00 | 01:30:00 | 1 |
| 8 | 1 | 7 | 16:30:00 | 23:30:00 | 0 |
+----+---------+----------+-----------+------------+---------+
Các open_hour
và close_hour
là lĩnh vực loại LÚC NÀO. Thiết kế bảng ok?
Ví dụ về lần hiện tại:
Thời gian hiện tại: Tue 23:00, - Output: Open, chọn 'Open tại Tue 16:30-23:30'
Hiện tại: Thứ Ba 23:40, - Đầu ra: Đóng, 'Mở tại Thur 16:30 - 23:30'
mở hôm thứ Năm vì Opening_Hours.week_day = 3
bị vô hiệu hóa
Bây giờ làm thế nào để xử lý thời gian nửa đêm? Điều này trở nên phức tạp hơn.
Như bạn có thể thấy, vào thứ bảy (Opening_Hours.week_day = 5
), nó mở cửa từ 17:15 AM đến 01:30 (đóng cửa ngày hôm sau Chủ Nhật)
Nếu thời điểm hiện tại là chủ nhật 01:15, sau đó các cửa hàng sẽ vẫn mở trên cơ sở Opening_Hours.week_day = 5
.
Output: Open, chọn 'Open tại Sat 17:15-01:30'
Xin đừng gửi nhiều câu hỏi cùng một lúc. Phanh vấn đề của bạn thành các phần nhỏ hơn và yêu cầu chi tiết cụ thể. Ngoài ra điều này trông giống như bài tập về nhà mà không được hoan nghênh ở đây ... –
@ JanHančič Nó không phải là nhiều câu hỏi cùng một lúc.Câu hỏi của tôi là làm thế nào để tìm ra cửa hàng là mở hoặc đóng cửa. Thứ hai, đây KHÔNG phải là bài tập về nhà. – user1246800
Nó trông giống như bài tập về nhà với tôi, nhưng nếu bạn nói nó không phải là sau đó tôi tin rằng bạn :) –