Requête triée par date en fonction de la date du jour [Résolu/Fermé]

Signaler
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
-
Messages postés
35
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
15 novembre 2013
-
Bonjour à tous,

Qqu'un saurait-il me dire qu'est ce qui cloche dans ma ligne ?
Je veux trier le résultat d'une requete par date tout en affichant un autre champs :


$requette = mysql_query("SELECT code_client FROM oc_prixdemande ORDER BY code_client ASC

WHERE TO_DAYS(NOW()) - TO_DAYS(datedemande) <= 10"); or die("Pb avec la requette ".mysql_error());

Merci de votre aide

5 réponses


Bonjour

Une erreur de SQL : le ORDER BY doit venir APRES le WHERE. (D'ailleurs ORDER BY code_client ASC , ça trie par date, ça ???)

une erreur de PHP : demandede) <= 10"); or die(" : le ; est en trop, si tu le laisses c'est la fin de l'instruction et le "or die..." qui suit ne veut plus rien dire.
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Merci le père, je vois cela.

(D'ailleurs ORDER BY code_client ASC , ça trie par date, ça ???)

Oui, oui, ça trie...:))
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Bon ben après le test ça ne marche pas !
cette requête la fonctionne très bien, mais sans trie par date :

"$requette = mysql_query("SELECT code_client FROM oc_prixdemande ORDER BY code_client ASC"); or die("Pb avec la requette ".mysql_error()); "

Elle me permet d'afficher dans une zone de liste les codes client triés dans un ordre croissant. Je veux faire ce trie en fonction du champs "datedemande" de cette même table en remontant au 10 dernier jours.
Messages postés
35
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
15 novembre 2013
8
As-tu essayé celà :


$requette = 
                 mysql_query("SELECT 
                                              code_client 
                                      FROM 
                                              oc_prixdemande
                                      WHERE
                                                TO_DAYS(NOW()) - TO_DAYS(datedemande) <= 10
                                      ORDER BY datedemande")
                or die("Pb avec la requette ".mysql_error());
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Merci OraceLaLimace,

Effectivement ça marche !

Mais le tri s'effectue aussi sur la date. Alors que je veux que le tri s'effectue sur le code_client.

Voilà pour le final qui fonctionne comme je veux :

$requette = mysql_query("SELECT code_client FROM oc_prixdemande WHERE TO_DAYS(NOW()) - TO_DAYS(datedemande) <= 10 ORDER BY code_client ASC") or die("Pb avec la requette ".mysql_error());


MErci à tous !
Messages postés
35
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
15 novembre 2013
8
'Je veux trier le résultat d'une requete par date tout en affichant un autre champs '

'Mais le tri s'effectue aussi sur la dateAlors que je veux que le tri s'effectue sur le code_client'

heu ? content pour toi que ça marche même si apparemment je n'ai pas compris la demande :)