我有一個事件表:從PHP中的MYSQL中提取日期
字段包括:名稱,開始日期和結束日期。
在我的網頁我現在想畫一個日曆整整一個月
要創建頁面,我循環,雖然該月的天,並要檢查是否有已經預訂了一個事件這些天。例如。如果日期出現在表格中任何記錄的開始日期和結束日期之間。
我很確定我不想運行31個查詢,所以達到此目的後的最佳方式?
我有一個事件表:從PHP中的MYSQL中提取日期
字段包括:名稱,開始日期和結束日期。
在我的網頁我現在想畫一個日曆整整一個月
要創建頁面,我循環,雖然該月的天,並要檢查是否有已經預訂了一個事件這些天。例如。如果日期出現在表格中任何記錄的開始日期和結束日期之間。
我很確定我不想運行31個查詢,所以達到此目的後的最佳方式?
您不需要31個查詢,您可以獲取整個月份並在PHP代碼中完成其餘部分。
SELECT
`name`,
`start-date`,
`end-date`
FROM
`table of events`
WHERE
`start-date` BETWEEN '2013-10-01 00:00:00' AND '2013-10-31 23:59:59'
OR
`end-date` BETWEEN '2013-10-01 00:00:00' AND '2013-10-31 23:59:59';
它會爲您提供有關在給定期間內開始或結束的所有事件的信息。無論您需要什麼,都可以隨時使
$query = "SELECT name, start-date, end-date from Events WHERE (start-day >= $firstDayOfMonth AND start-day <= $lastDayOfMonth) OR (end-day >= $firstDayOfMonth AND end-day <= $lastDayOfMonth)";
這會給你在指定月份開始或結束的所有事件。
$ firstDayOfMonth,$ lastDayOfMonth - 你應該根據用戶輸入在你的php代碼中計算這些值。
加載數組中的事件並檢查數組而不是數據庫? –