【发布时间】:2011-11-21 23:11:34
【问题描述】:
在数据库中存储开店和关店时间的最佳方法是什么,以及如何在 PHP 中计算时间?
我想出了这个桌子设计:
+----+---------+----------+-----------+------------+
| id | shop_id | week_day | open_hour | close_hour |
+----+---------+----------+-----------+------------+
| 1 | 3 | 1 | 15:00:00 | 23:00:00 |
| 2 | 3 | 2 | 15:00:00 | 23:00:00 |
| 3 | 3 | 3 | 18:00:00 | 02:00:00 |
| 4 | 3 | 4 | 18:00:00 | 02:00:00 |
| 5 | 3 | 5 | 18:00:00 | 03:00:00 |
+----+---------+----------+-----------+------------+
+------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| shop_id | int(11) | NO | | NULL | |
| week_day | int(11) | NO | | NULL | |
| open_hour | time | NO | | NULL | |
| close_hour | time | NO | | NULL | |
+------------+---------+------+-----+---------+----------------+
例如,星期二 (week_day = 2) 下午 3 点开门,晚上 11 点(星期二)关门。
在星期三(`week_day = 2'),它在下午 6 点开放,并在午夜 2 点之后关闭,这将是星期四。是否应该在午夜后保存在同一行?
假设客户想在周二晚上 10 点下单 (shop_id = 3),根据数据库数据,他们应该可以下单。但是,如果客户想在星期四凌晨 1 点下订单,但数据库显示 week_day = 3 它在 02:00:00 关闭
如何用PHP写出店铺是否开门?
我是否需要更改表格设计以便用 PHP 编写更容易?
【问题讨论】:
标签: php mysql database database-design