Non è un ragionamento facile, cerco di farlo al meglio.
Se data_arrivo non è compresa tra le date presenti nelle prenotazioni, vuol dire che in quel giorno ci sono sistemazioni libere. Viceversa, se fosse compresa sarebbe tutto occupato.
Ma se data_arrivo è "disponibile" (ovvero fuori dal range), non è detto che lo sia anche data_partenza.
Andrebbe aggiunta una seconda clausola.
Faccio un esempio per chiarire meglio ciò che sto per dire: mettiamo di avere le seguenti data_arrivo e data_partenza in 'prenotazioni':
1. 12/07/2012 15/07/2012
2. 10/07/2012 12/07/2012
3. 08/07/2012 17/07/2012
4. 11/07/2012 14/07/2012
Se io cerco una sistemazione dal 11/07/2012 al 14/07/2012, lo script che mi hai dato tu mi individua le prenotazioni occupate numero 2, 3 e 4, sebbene la 1 sia ugualmente non disponibile durante il range di date.
Se invece mettiamo che data_arrivo e data_partenza non devono essere comprese tra quelle presenti, cercando una sistemazione dal 06/07/2012 al 20/07/2012 ottengo come risposta che è tutto libero, quando invece è l'esatto contrario.
E' un ragionamento tutt'altro che facile, sia da capire che da esporre.
Spero di essere stato il più chiaro possibile.
Grazie ancora, a presto.