Originariamente inviato da metatad
Tutto questo, con il mio sistema,
funziona perfettamente: il problema sorge, come spiegavo, soltanto quando il periodo dell'offerta si colloca a cavallo tra un anno e l'altro
A parte gli altri errori che ti sono stati fatti notare, per l'esempio citato tu chiedi al db di restituirti i record che sono compresi tra 12 (dicembre 2010) e 1 (Gennaio 2011), cioè mai
, lo sarebbero se il between fosse tra 1 e 12, ma non saresti a cavallo dell'anno
codice:
SELECT 1 BETWEEN 12 AND 1; //0
SELECT 1 BETWEEN 1 AND 12; //1
SELECT 12 BETWEEN 12 AND 1; //0
SELECT 12 BETWEEN 1 AND 12; //1
SELECT 6 BETWEEN 12 AND 1; //0
SELECT 6 BETWEEN 1 AND 12; //1
se a te servono le offerte del mese, ad esempio di dicembre, con $mydata='201012' //(date('Ym'))
codice:
SELECT * FROM `offerte` WHERE '$mydata' BETWEEN date_format(`data_in`,'%Y%m') AND date_format(`data_out`,'%Y%m')