我希望创建一个预订系统。一方面,您有一个客户希望预约,另一方面,您有一个提供商,其中包含客户可以预订的时间表
注册成为提供者时,他们可以选择工作日和工作时间。他们有html复选框,表示他们可以选择的日期,一旦他们选择一天显示小时数(下拉角度),如下所示
在MySQL方面,我想我可以拥有一个每天都有一个列的表,并在那里有一个以逗号分隔的列表,包括开始时间,结束时间,午餐时间和午餐长度
即。提供商选择星期一和星期二从下面的小时开始工作
提供商'日程安排'表
|ScheduleID|ProviderID|Monday |Tuesday |Wednesday|Thursday|Friday|Saturday|Sunday| |----------|----------|--------|--------|---------|--------|------|--------|------| |1 | 2 |09:00am,|10:00am,| | | | | | | | |08:30pm,|07:00pm,| | | | | | | | |12:00pm,|01:00pm,| | | | | | | | |30 min |60 min | | | | | | |----------|----------|--------|--------|---------|--------|------|--------|------|
该表将具有一个计划ID和一个提供者ID,该ID将链接回"提供者"表将提供者链接到他的日程表
或者这样更好吗?
|-------------|-------------|----------|-----------|----------|------------|--------------| | schedule_id | provider_id | week_day |start_time | end_time | lunch_time | lunch_length | |-------------|-------------|----------|-----------|----------|------------|--------------| | 1 | 1 | Monday | 06:00 AM | 08:00 PM | 12:30 PM | 60 | |-------------|-------------|----------|-----------|----------|------------|--------------| | 2 | 1 | Friday | 06:00 AM | 08:00 PM | 12:30 PM | 60 | |-------------|-------------|----------|-----------|----------|------------|--------------| | 3 | 2 | Tuesday | 06:00 AM | 08:00 PM | 12:30 PM | 60 | |-------------|-------------|----------|-----------|----------|------------|--------------|
如果不发布
的内容答案 0 :(得分:0)
在我开始考虑你应该如何构建Provider 'Schedule' Table
之前,请确保将来,删除绒毛。
更多关于绒毛here。
您可以更好地进行以下更改:
scheduleId
更改为id
weekDay
列来存储该工作日的值startTime
,endTime
,lunchTime
和lunchLength
scheduleId
列,将某人的所有不同工作日时间表连接到一个提供商一些注意事项:
"Monday"
列中添加字符"Sunday"
或weekDay
,而是插入0..6
,其中0
是星期日6
是一个星期六,使其与其他语言更兼容scheduleId
,并创建另一个包含各个计划日期的表格,并将其与外键相关联,但这可能会导致更多问题,而不是它的价值lunchLength
只是一个整数,因为这将使一切变得更容易尽可能分割数据背后的原因是因为如果您使用其他语言进行查询,则可能需要完成分割Monday
和Tuesday
列的所有额外工作只想要startTime
例如。
希望以上是解决方案或允许您考虑另一种方法。
答案 1 :(得分:0)
这是一个Java Android库,您可以将其转换为JavaScript:https://bitbucket.org/warwick/schedule_utils_demo/src/master/
以客户端语言运行代码可以节省服务器的负担,因为调度代码效率很低。
希望这会有所帮助。