Mysql : faire un order by saison scolaire

Petit nouveau ! | 2 Messages

15 janv. 2006, 17:33

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 ?

ViPHP
ViPHP | 649 Messages

16 janv. 2006, 00:53

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.
Image

Petit nouveau ! | 2 Messages

08 févr. 2006, 19:24

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...