我正在開發用戶事件的只讀每週日曆視圖。 列是星期幾(mon> sun) 行是時隙(8:00> 9:00,9:00> 10:00 ...從8AM到7PM)在mysql/php中生成每週日曆
問題:什麼是最好的辦法來生成該用戶日曆:
選項1:純SQL 我甚至不知道這是否可能,但我會發現它超級優雅:有MySQL生成一個表7列(日)和11行(時隙)並對每個時隙進行子查詢,檢查是否爲該時隙/用戶預訂了會議。
選項2:php/mysql 有mysql只是檢索預定/會議的會議,並與php生成的日曆交叉。
選項1是否可能?如果是這樣,是否資源密集?
謝謝 亞歷山大
UPDATE:查詢建議
這裏是「選項2」查詢我使用來獲取預訂的事件(教訓在這種情況下:用戶是一名教師)。
SELECT DISTINCT date, hour_from, hour_to, courses.description, courses.alias, teachers.name, locations.new_acronym
FROM timetables
INNER JOIN courses ON (courses.id=timetables.course_id)
INNER JOIN teachers ON (teachers.id=timetables.prof_id)
INNER JOIN locations ON (locations.id=timetables.location_id)
WHERE ((timetables.prof_id='$id')
AND (timetables.date >= '$starting_date')
AND (timetables.date < date_add('$starting_date', INTERVAL 7 day))) ;
我對查詢的建議非常感興趣,會使選項1工作!
如果您需要查詢的suggetions,添加desc表,我(我們)會發布一些。 – 2009-08-15 11:58:33
只是相應地更新了問題。謝謝。 – pixeline 2009-08-15 14:17:38