Order by Field avec champs multiples

Eléphant du PHP | 78 Messages

23 juil. 2008, 13:09

Bonjour ,

J'ai une requête sql qui utilise le classement avec FIELD :

Code : Tout sélectionner

ORDER BY FIELD( NOM, '$mot1', '$mot2', '$mot3' ) ;
Seulement je dois faire la recherche sur plusieurs champs en plus du champ NOM j'ai CODEARTICLE et MOTS aussi...

Est il possible de combiner plusieurs FIELD ? si oui comment ? si non y a t-il une autre solution ?

Merci !

ViPHP
ViPHP | 5924 Messages

23 juil. 2008, 14:23

Exemple :

Code : Tout sélectionner

ORDER BY FIELD(champ1, 'ksvjh', 'sfjsv', 'jlsgslj') ASC, FIELD(champ2, 'bndf', 'fgdhd', 'sdfgrh') ASC, champ DESC, FIELD(champ3, 'f', 'dfdf', 'fdfdfdfdfdf'), ...;
:)

Eléphant du PHP | 78 Messages

23 juil. 2008, 19:00

Heu juste un question

Ca sert à quoi le "champ DESC" au milieu de ta syntaxe?


J'ai un soucis en fait :cry:

Voilà ma syntaxe : $sql.="ORDER BY FIELD(NOM,'voiture noire jolie','voiture noire','voiture')ASC";

et les resultats retournées de ma base :

voiture bleu
voiture rouge
voiture noire jolie
voiture noire
voiture


moi je veux :

voiture noire jolie
voiture noire
voiture
voiture bleu
voiture rouge


J'ai merdé où ?

Eléphant du PHP | 78 Messages

29 juil. 2008, 12:43

Up , Sékiltoyai , tu m'as pas répondu sur la syntaxe que tu m'a donné, je voudrais comprendre un peu mieux le fonctionnement de la fonction cat je suis bloqué là .

Merci

ViPHP
ViPHP | 5924 Messages

29 juil. 2008, 13:18

Ouvre un nouveau sujet en expliquant clairement ton problème.

Mammouth du PHP | 2937 Messages

29 juil. 2008, 13:35

Ca sert à quoi le "champ DESC" au milieu de ta syntaxe?
DESC permet de trier les résultats en ordre décroissant quand on utilise les commandes ORDER BY et GROUP BY. Par défaut, le tri s'effectue en ordre croissant (et il est donc superflu d'écrire ASC).