Problème SQL - ORDER BY avec des DATES

Résolu
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

Voilà en gros j'ai créé un planning de location de vélos et le but c'est d'afficher les tâches à effectuer par dates...

Pour l'instant je fais un ORDER BY date_debut et j'affiche uniquement les commandes dont la date_fin >= date_aujourdhui.

Mon soucis que j'ai une commande de 3 mois qui s'affiche en permanence tout en haut alors que on l'a loué il y a déjà un mois ( ie date_debut < date_aujourd'hui)

En réalité je voudrais un ORDER BY sur la date de debut sauf si la date de début <= CURDATE( ) et dans ce cas je veux considérer la date de fin...

Merci d'avance pour vos réponses !

ps : j'utilise phpmyadmin
A voir également:

4 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir. pourquoi ne pas , simplement, faire ce que tu décris parfaitement:
ORDER BY sur la date de debut sauf si la date de début <= CURDATE( ) et dans ce cas je veux considérer la date de fin
ORDER BY if(date_debut > CURDATE( ) , date_debut , date_fin)

qu'en penses-tu?
1
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
au fait parce que je ne savais pas que je pouvais utiliser des if avec mysql mais tu avais la bonne réponse ! thanks ! :)

ORDER BY IF(t1.debut < CURDATE( ), t1.fin, t1.debut)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Donc il faut que tu nous montre la requête concernée....
(et QUE la requête)
Celle que tu as testé dans phpmyadmin ....


NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
Utilisateur anonyme
 
Bonjour,

pourquoi la commande qui date de 3 mois n'a pas de date de fin ???

A+

Ce n'est pas à un vieux singe qu'on apprend à faire des grimaces
0
Utilisateur anonyme
 
Donc dans ta clause WHERE :

WHERE date_fin >= CURDATE( ) AND date_debut <= CURDATE( )


A+
0