Ciao a tutti.
Il problema di questa volta riguarda una SQL che non so generare malgrado ho provato in diversi modi e letto di tutto in diversi forum.
Ho un database MySql con un campo "data_causale" e questo e' un esempio di record:
2010-11-30
2010-12-01
2011-01-18
2011-01-25
2011-01-29 ... e cosi via (come vedete formato AAAA-MM-GG).
Devo poter scegliere una serie di record in base a una scelta fatta in un modulo html.
Le scelte sono:
1) Mese corrente 2) Mese precedente 3) Seleziona Periodo (da ... a ...).
La prima SELECT non e' stata per me difficile:
$sql = "SELECT * FROM causali WHERE MONTH (data_causale) = MONTH(curdate()) ORDER BY id_causale ASC";
che in questo caso mi mostra soltanto i seguenti record:
2011-01-18
2011-01-25
2011-01-29 FUNZIONA
Il problema nasce invece nelle 2 altre select che non sono riuscito a comporre:
MESE PRECEDENTE:
$sql = "SELECT * FROM causali WHERE MONTH(data_causale) = MONTH(curdate)-1 ORDER BY id_causale ASC"; NON FUNZIONA!
SELEZIONE PERIODO:
$sql = "SELECT * FROM causali WHERE data_causale BETWEEN '01/11/2010' AND '14/01/2011'" NON FUNZIONA!
(ho provato anche ad invertire la data nel formato 2010/01/11 con / o con - il risultato e' sempre negativo).
Qualcuno mi può dare una mano per favore?
Grazie in anticipo.
Carlo.
Il problema di questa volta riguarda una SQL che non so generare malgrado ho provato in diversi modi e letto di tutto in diversi forum.
Ho un database MySql con un campo "data_causale" e questo e' un esempio di record:
2010-11-30
2010-12-01
2011-01-18
2011-01-25
2011-01-29 ... e cosi via (come vedete formato AAAA-MM-GG).
Devo poter scegliere una serie di record in base a una scelta fatta in un modulo html.
Le scelte sono:
1) Mese corrente 2) Mese precedente 3) Seleziona Periodo (da ... a ...).
La prima SELECT non e' stata per me difficile:
$sql = "SELECT * FROM causali WHERE MONTH (data_causale) = MONTH(curdate()) ORDER BY id_causale ASC";
che in questo caso mi mostra soltanto i seguenti record:
2011-01-18
2011-01-25
2011-01-29 FUNZIONA
Il problema nasce invece nelle 2 altre select che non sono riuscito a comporre:
MESE PRECEDENTE:
$sql = "SELECT * FROM causali WHERE MONTH(data_causale) = MONTH(curdate)-1 ORDER BY id_causale ASC"; NON FUNZIONA!
SELEZIONE PERIODO:
$sql = "SELECT * FROM causali WHERE data_causale BETWEEN '01/11/2010' AND '14/01/2011'" NON FUNZIONA!
(ho provato anche ad invertire la data nel formato 2010/01/11 con / o con - il risultato e' sempre negativo).
Qualcuno mi può dare una mano per favore?

Grazie in anticipo.
Carlo.