Requête triée par date en fonction de la date du jour

Résolu/Fermé
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 14 août 2013 à 05:53
oraceLaLimace Messages postés 35 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 15 novembre 2013 - 14 août 2013 à 23:29
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

Utilisateur anonyme
14 août 2013 à 08:06
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.
0
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
Modifié par maxireussite le 14/08/2013 à 13:34
Merci le père, je vois cela.

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

Oui, oui, ça trie...:))
0
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
Modifié par maxireussite le 14/08/2013 à 13:51
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.
0
oraceLaLimace Messages postés 35 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 15 novembre 2013 8
Modifié par oraceLaLimace le 14/08/2013 à 19:45
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());
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
14 août 2013 à 23:21
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 !
0
oraceLaLimace Messages postés 35 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 15 novembre 2013 8
14 août 2013 à 23:29
'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 :)
0