Devo fare una query che estragga dal db una serie di dati, quando si verifica almeno una delle condizioni poste.
La condizione è che, posta una variabile $mesecorrente, in formato date (0000-00-00), la query estragga i dati laddove il MESE della data indicata dalla variabile, sia compreso tra il MESE di un campo ed il MESE di un'altro campo (entrambe di tipo date).
La query la faccio così:
e la variabile $mesecorrente mostra correttamente una data nel formato esatto (faccio un echo prima della query). Però, nonostante nel db ci siano con certezza dei dati corrispondenti a questa condizione, il risultato restituito dalla query è nulla. Nessun dato.Codice PHP:$result = mysql_query("SELECT * FROM `offerte` WHERE ('$mesecorrente' BETWEEN MONTH(`data_in`) AND MONTH(`data_out`)) OR ('$mesecorrente' BETWEEN MONTH(`data_in2`) AND MONTH(`data_out2`)) OR ('$mesecorrente' BETWEEN MONTH(`data_in3`) AND MONTH(`data_out3`)) OR ('$mesecorrente' BETWEEN MONTH(`data_in4`) AND MONTH(`data_out4`)) OR ('$mesecorrente' BETWEEN MONTH(`data_in5`) AND MONTH(`data_out5`)) OR ('$mesecorrente' BETWEEN MONTH(`data_in6`) AND MONTH(`data_out6`)) GROUP BY `id_hotel` ORDER BY `hotel_pos`,`inter_pos`,`data_in`,`data_in2`,`data_in3`,`data_in4`,`data_in5`,`data_in6` ASC");
Com'è possibile? Dove sto sbagliando?
![]()

Rispondi quotando
