Originariamente inviato da allin81
ad essere dello stesso anno si, il problema e' il mese perche' capitano delle offerte che si accavallano in 2 mesi, e nella query volevo solo visualizzare quelli che hanno un periodo di tempo sufficiente a far visualizzare l'offerta.
Ad esempio se il giorno 2 marzo, cerco le offerte di 7 notti per marzo e nel database ho un'offerta che va dal 3 al 10 marzo, questa offerta deve uscire a video.
Se invece sempre il giorno 2 marzo, cerco un'offerta di 7 notti e nel database ho un'offerta che va dall'1 all'8, questa non deve uscire perche' essendo il 2 marzo mi restano solo 6 giorni e quindi quell'offerta non e' piu 'valida...
Non so se mi sono spiegato bene
ah ok, un pò più chiaro

consideriamo quindi la seguente ricerca:

"cerca offerta 7 notti nel mese di maggio"

avrai $mese = 5 e $period = 8 ( 7 notti dovrebbero valere 8 giorni se non erro, al limite correggi te) e una query del tipo

codice:
where

( month(valida_da)=$mese and month(valida_al)=$mese and datediff(valida_al,valida_da)>=$period )
or
( month(valida_da)=$mese and month((date_add(valida_dal,interval $period day)) = $mese )
or
( month(valida_al)=$mese and month((date_sub(valida_al,interval $period day))=$mese)