Problème SQL - ORDER BY avec des DATES

Résolu/Fermé
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 - 6 juil. 2017 à 17:51
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 - 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
A voir également:

4 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
6 juil. 2017 à 21:24
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 lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019
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)
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
6 juil. 2017 à 18:00
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
Modifié le 6 juil. 2017 à 20:41
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
6 juil. 2017 à 21:06
Donc dans ta clause WHERE :

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


A+
0