Aller au contenu

Sujets conseillés

Posté

Bonjour à tous,

je souhaite faire une requête sur ma base afin d'afficher le résultat d'un tri suivant deux critères "date" et heure(format TIME)", voici la méthode que j'ai suivi:

$req=mysql_query("SELECT action_trans FROM liste_action WHERE Nano= ". $list['Nano'] . " ORDER BY STR_TO_DATE(date_a,'%d/%m/%Y'),'heure'") or die("Connexion impossible");

ça marche lorsqu'on a une seule "action_trans" le dernier jour, cependant quand il y a plusieurs, ça affiche la première "action_trans" au lieu de la dernière de la journée, ce qui montre que le problème vient du tri suivant la clé "heure".

pouvez-vous m'aider s.v.p.

merci d'avance

Posté

Si je comprends bien ta requête, tu tries en fonction de la date uniquement, au format français (Par exemple, 30/05/2010).

Tu as donc un souci : à cause du format français, le 19/06/2010 sera classé avant le 30/05/2010 (Classement par ordre alphabétique).

Pourquoi ne pas classer directement en fonction du timestamp ?

Posté

Bonjour captain_torche,

le tri suivant la date fonctionne parfaitement, c'est dans le cas ou j'ai plusieurs résultats à ma requête que ça ne marche pas, car au lieu d'afficher le dernier suivant l'heure, j'affiche le premier de la journée

  • 2 semaines plus tard...
Posté

Salut,

Donc tu veux trier par date croissante et heure décroissante ? Si c'est le cas, ORDER BY date_a, heure DESC devrait faire l'affaire.

Bonjour captain_torche,

le tri suivant la date fonctionne parfaitement, c'est dans le cas ou j'ai plusieurs résultats à ma requête que ça ne marche pas, car au lieu d'afficher le dernier suivant l'heure, j'affiche le premier de la journée

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...