Menu

Problème SQL - ORDER BY avec des DATES [Résolu]

matmat8888 26 Messages postés lundi 22 mai 2017Date d'inscription 18 janvier 2018 Dernière intervention - 6 juil. 2017 à 17:51 - Dernière réponse : matmat8888 26 Messages postés lundi 22 mai 2017Date d'inscription 18 janvier 2018 Dernière intervention
- 7 juil. 2017 à 11:15
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
Afficher la suite 

5 réponses

Répondre au sujet
yg_be 5307 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention - 6 juil. 2017 à 21:24
+1
Utile
1
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?
Cette réponse vous a-t-elle aidé ?  
matmat8888 26 Messages postés lundi 22 mai 2017Date d'inscription 18 janvier 2018 Dernière intervention - 7 juil. 2017 à 11:15
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)
Commenter la réponse de yg_be
jordane45 20624 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 6 juil. 2017 à 18:00
0
Utile
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 : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Commenter la réponse de jordane45
HDU 692 Messages postés mercredi 5 juillet 2017Date d'inscription 16 mars 2018 Dernière intervention - Modifié par HDU le 6/07/2017 à 20:41
0
Utile
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
Commenter la réponse de HDU
HDU 692 Messages postés mercredi 5 juillet 2017Date d'inscription 16 mars 2018 Dernière intervention - 6 juil. 2017 à 21:06
0
Utile
Donc dans ta clause WHERE :

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


A+
Commenter la réponse de HDU