Facciamone una per volta.Originariamente inviato da franz79
ho notato inoltre che se faccio una semplice estrazione del campo "giorno" senza formattare niente lui mi restituisce:
2003-12-29 00:00:00
Non capisco perché 00:00:00
boh...
1) 2003-12-29 00:00:00 perche il campo e' in formato DATETIME. Se ti interessa solo data imposta il compo come DATE e avrai solo 2003-12-29.
2) Le date che tu ricevi tramite POST sono stringhe e vanno convertite in DATE.
Esemplifichiamone una:
Se facciamo echo $_POST['data_da'] il formato atteso e' gg/mm/aaaa.
Quindi convertiamo la stringa ricevuta in data:
list($giorno, $mese, $anno) = explode('/', $_POST['data_da']);
$da_data = "$anno-$mese-$giorno";
ora un echo a $da_data dovrebbe presentare yyyy-mm-dd lo stesso formato che si trova nel db ( a prescindere dal TIME 00:00:00).
3) Andiamo ad estrarre i record che rispondo alla condizione da - a.
SELECT omississ......
WHERE giorno BETWEEN $da_data AND $a_data
ORDER ecc...
Forse nella fretta qualcosa di storto prima c'era. Ora con calma segui la guida tracciata e completala.
Se hai dei problemi usa echo per verificare cosa effettivamente traduci. es.:
echo "
Data da: $_POST[data_da] a $da_data
";
Sono punti di debug efficacissimi.
Ok. prova e racconta.
![]()