i campi sono errati:
$mese è il mese che scelgo dal form di ricerca (1 per gennaio, 2 per febbraio, 3 per marzo, ecc)
$durata è la durata che scelgo sempre dal form di ricerca (1 per tutte, 2 se scelgono da 1 a 5 notti, 3 se scelgono da 6 a 9 notti, 4 se scelgono un soggiorno superiore a 9 notti)
$valida_da è il campo del database che indica quando inizia l'offerta
$valida_fino è il campo del database che indica quando finisce l'offerta
$prezzo_come è il campo del database che indica l'offerta per quante notti è (1 per 1 notte, 2 per 2 notti, 3 per 3 notti ecc)
ho provato la tua query (modificandola secondo i miei campi) ma mi da errore, ecco come l'ho messa
Codice PHP:
$query_offerte="SELECT id_offerta, titolo, DATE_FORMAT(valida_da, '%d/%m/%Y') AS valida_da_ita, DATE_FORMAT(valida_fino, '%d/%m/%Y') AS valida_fino_ita, minimo_notti, prezzo, prezzo_come, trattamento, id_albergo, mezzo_di_trasporto FROM tbl_offerte WHERE
( month(valida_da)=$mese and month(valida_fino)=$mese and datediff(valida_fino,valida_da)>=$prezzo_come )
or
( month(valida_da)=$mese and month((date_add(valida_dal,interval $prezzo_come day)) = $mese )
or
( month(valida_fino)=$mese and month((date_sub(valida_fino,interval $prezzo_come day))=$mese)";
poi sotto continua facendo l'ordinamento