2011-09-15 39 views
0

我有一個預訂系統,有很多成員網站提供信息,以便人們使用我們的網站與他們預訂。PHP多種不同的日期和時間預訂數據

與每個成員,我們需要知道日期,星期幾和時間期間,他們可用於預訂。此信息不會隨預訂數量而變化。

問題是有些會員可能允許在上午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提要可疑。不是我的意圖,但是這是需要在每個成員的管理面板中創建的那種數據結構,並且由每個頁面上的預約系統提取。

我們該如何做到這一點。

任何想法?

回答

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 
+0

我是,但我沒有足夠的經驗來解決這個問題 –