Signaler

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

Posez votre question matmat8888 17Messages postés lundi 22 mai 2017Date d'inscription 18 juillet 2017 Dernière intervention - Dernière réponse le 7 juil. 2017 à 11:15 par matmat8888
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
Utile
+1
plus moins
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 17Messages postés lundi 22 mai 2017Date d'inscription 18 juillet 2017 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)
Répondre
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
Bonjour,

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

A+

Donnez votre avis
Utile
+0
plus moins
Donc dans ta clause WHERE :

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


A+
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !