在PHP和MySQL中 - 如何确定商店是打开还是关闭(返回true或false)?确定商店是否开放?
如果商店关闭,如何获得下一个营业时间?
Opening_Hours
表中的实施例:
+----+---------+----------+-----------+------------+---------+
| 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 |
+----+---------+----------+-----------+------------+---------+
的open_hour
和close_hour
是TIME类型字段。表设计好吗?
当前倍的实施例:
当前时间:星期二23:00, - 输出:打开, '打开在星期二16:30 - 23:30'
当前时间:周二23:40, - 输出:关闭, '打开在周四16:30 - 23:30'
公开赛周四因为Opening_Hours.week_day = 3
被禁用
现在如何处理午夜时间?这变得更加复杂。
正如你所看到的,上周六(Opening_Hours.week_day = 5
),它是开放的,从17:15到下午01:30(闭第二天星期日)
如果当前时间为周日上午1点15分,那么商店仍将基于Opening_Hours.week_day = 5
开放。
输出:打开“在打开周六17:15 - 01:30”
请不要在一次发布多个问题。将问题制动成更小的部分并提出具体问题。此外,这看起来像是作业,这是不欢迎在这里... – 2012-03-03 12:54:56
@JanHančič这不是一次多个问题。我的问题是如何找出商店是打开还是关闭。其次,这不是功课。 – user1246800 2012-03-03 13:04:19
它看起来像我的功课,但如果你说它不是那么我相信你:) – 2012-03-03 14:11:00