PHP多个不同的日期和时间预订数据

时间:2011-09-15 13:09:15

标签: php database database-design

我有一个预订系统,有许多会员网站提供信息,允许人们使用我们的网站与他们预订。

对于每位会员,我们需要知道日期,星期几以及那些日期的预订时间。此信息不会随预订数量而变化。

问题是有些会员可能会在上午9点到下午6点之间全年预订。其他人可能会有不同的预订时间和天数,具体取决于一年中的时间和一周中不同时间的一周中的不同日期。

有效地需要的是这样的事情:

<dateperiod>
   <weekday>
      <times>
         <price>
      <times>
   <weekday>
<dateperiod>

所以填写的内容可能看起来像这样。

<dateperiod>January,February,March
   <weekday>Mon,Tue,Wed,Thu,Fri
      <times>6-12
         <price>25<price>
      <times>
      <times>12-18
         <price>40<price>
      <times>
      <weekday>Sat,Sun
      <times>6-13
         <price>45<price>
      <times>
      <times>13-17
         <price>55<price>
      <times>
   <weekday>
<dateperiod>

现在看起来很像XML Feed。不是我的意图,而是需要在管理面板中为每个成员创建并由每个页面上的预订系统提取的数据结构。

我们到底如何实现这样的目标。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

假设您正在使用MySQL,以下结构应该这样做:

months set('January', 'February', ..., 'December') not null
weekdays set('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun') not null
hours_from tinyint(2) unsigned not null default 9 //如果你需要分钟,可以是其他类型,但是 hours_to tinyint(2) unsigned not null default 18 //与上述相同 price decimal(3,2) not null

...而你的WHERE语句将是这样的:

... WHERE '<input month>' IN(months)
          AND '<input day>' IN(weekdays)
          AND '<input hours>' BETWEEN hours_from AND hours_to