Ciao a tutti.
Sto perdente un po troppo tempo con una query selettiva su alcuni campi data in formato TIMESTAMP.
La tabella non è altro che il calendario di partite di campionato (ho presupposto come limite stagione da Luglio dell'anno precedente a Luglio dell'anno corrente).
Siccome in tabella sono presenti anche partite di stagioni passate, vorrei che la query restituisse SOLO le partite della stagione corrente.
Ho abbozzato qualcosa del genere:
ma ovviamente se mi trovo ad esempio nella data "01-05-2009" l'if entra nella prima selezione e mi legge sono i record di Maggio.Codice PHP:
//preparo la data
$data = date("d/m/Y");
$data = explode('/', $data);
$day = $data[0];
$month = $data[1];
$year = $data[2];
//calcolo l'anno precedente e successivo
$prev_year=$year-1;
$next_year=$year+1;
//presuppongo che Luglio (07) sia il limite di ricerca stagione
if ($month=="07") {
$stagione="finita";
//costruisco il TIMESTAMP (secondi a 0) dal 1 al 31 del mese
$season_start=mktime(0,0,0,$month,1,$prev_year);
$season_finish=mktime(0,0,0,$month,31,$year);
}
else {
$stagione="in corso";
//costruisco il TIMESTAMP (secondi a 0) dal 1 al 31 del mese
$season_start=mktime(0,0,0,$month,1,$year);
$season_finish=mktime(0,0,0,$month,31,$next_year);
}
//leggo il calendario in base alla query
$sql = "SELECT * FROM calendario
WHERE matchdate>$season_start
AND matchdate<$season_finish
ORDER BY matchdate DESC";
mi sto perdendo in un bicchier d'acqua..
scusate il mio php forse un po lungo, non conosco ancora benissimo tutte le funzioni veloci.
qualcuno ha idee?
grazie