Page 1 sur 1

Mysql : faire un order by saison scolaire

Posté : 15 janv. 2006, 17:33
par croftophile
Bonjour,

j'ai mis en place un calendrier de sorties ( id, nom, date_deb, date_fin ) et j'aimerais afficher cela par saison scolaire, soit du 1er sept année à 30 juin année+1 ; et ce de façon décroissante.
Ce qui donnerait :
année 2005-2006
les dates du calendrier
année 2004-2005
les dates du calendrier

Et ainsi de suite... mais je ne vois pas comment faire cela.
1ère requête qui récupère les DISTINCT années, puis traitement PHP pour générer les dates et faire un BETWEEN ? ou autre, genre un group by saison ?

Posté : 16 janv. 2006, 00:53
par alexbad
Que contiennent les champs date_deb et date_fin? un timestamp?

Selon moi un ORDER BY date_deb suffirait largement et serait strictement équivalent à ORDER BY date_fin.

Posté : 08 févr. 2006, 19:24
par croftophile
Oui, ce sont des champs timestamp.
Finalement, j'ai fait plus simple. Première requête : select max et min de année.
incrément de 1 au max ( fin d'année = saison année à année +1)
Après, boucle en PHP en redescendant de max vers min (décrément de 1 sur l'année), genre while ($max >=$min )
{
Dans la boucle, requête SQL sur les dates correspondant à la saison scolaire de l'année en cours. Bien sûr, une saison scolaire, c'est du 1er sept XX à 30 juin XX+1.
XX=XX-1;
}
REMARQUE : Ok, à moi de faire gaffe que JAMAIS il n'y ait de dates des grndes vcances scolaires...