我有一個項目表:itemID,itemName 每個項目可以預定一段時間;每個項目可以有多個預訂;預訂從不重疊。MySQL和PHP的方法來查詢
登記在一個預定表中保存:ITEMID,的startDate,結束日期
我想指定的天數,開始日期和結束日期,然後找到未結算週期這是天這個數字的任何物品或在提供的開始日期和結束日期之間不太長。換句話說,我正在尋找在給定日期範圍內的「短期可用性」項目。然後,我想要返回每個itemID的短期可用開始日期和結束日期列表。
我很感激任何關於如何去解決這個問題的建議,理想情況是在單個MySQL查詢中,但是使用PHP循環進行處理是很好的。
到目前爲止,我的方法是在預訂表中獲取所有唯一的itemID,並在預定的開始日期和結束日期之內或之間進行預訂,然後使用PHP和MySQL查詢的組合來解析整個範圍,以及將itemID和'short term period'的開始和結束日期添加到數組中,但這不是一種優雅的方法。
謝謝
如果你剛剛入門,不會使用像[CodeIgnighter](http://codeigniter.com/)或[CakePHP](http://cakephp.org/)這樣的框架使得這更容易嗎? – tadman 2012-08-01 21:02:12
感謝您的建議。我會看看他們,但我認爲在這種情況下我想要做的是擴大我的SQL查詢寫作能力。 – cog1 2012-08-02 14:14:24
即使有框架,你仍然會編寫大量的SQL。這個想法是他們會爲你做很多常規的事情,而且通常比你手工做得更好。 – tadman 2012-08-02 15:10:50