Ciao ragazzi,
scusate il gioco di parole ma ho bisogno del vostro aiuto.
Devo verificare se la data memorizzata in una variabile è compresa tra le date "dal" e "al" del mio DB.
Come potete vedere ho utilizzato la funzione FROM_UNIXTIME di MySQL che converte la data memorizzata (formato time) in "Y/m/d".Codice PHP:$date_for_db = $anno . "/" . $mese . "/" . $giorno; //preparo la data per confrontarla con ogni singolo record
$sql = mysql_query("select * from (select * from offerte_attr) as oa join (select distinct(id_cam),idst from offerte_attr_cam) as oac on oa.idst=oac.idst where oa.idst='$idh' and (FROM_UNIXTIME(oa.dal,'%Y/%m/%d') <= '$date_for_db' AND FROM_UNIXTIME(oa.al,'%Y/%m/%d') >= '$date_for_db') and oac.id_cam = '$idc'");
Così facendo riesco a visualizzare le date comprese ma si verifica uno strano errore, ecco un esempio:
ho queste date memorizzate così:
01/06/2010(in formato time) 30/06/2010(in formato time) pippo
01/07/2010(in formato time) 10/07/2010(in formato time) pluto
Se volessi visualizzare tutti i nomi compresi nella data 05/07/2010 visualizzerò "pluto" ed è giusto, ma se metto 12/07/2010 non devo visualizzare nulla e invece mysql mi stampa "pippo". Come mai? Esiste un metodo più pulito per confrontare le date e che mi restituisce i risultati correttamente?
Grazie
M4tt86

Rispondi quotando
