Aller au contenu

Forcer l'affichage d'un résultat avant les autres


Sujets conseillés

Posté

Salut à tous !

J'ai une requête SQL qui m'affiche des articles en fonction de leur prix (tri croissant).

J'ai besoin de faire ressortir un élément en premier, quel que soit son prix.

Est-ce possible en SQL, ou vais-je devoir biaiser en PHP pendant le traitement du résultat ?

Posté

salut,

- soit tu fais 2 requêtes distinctes afin d'afficher d'abord l'élément distinct puis les autres selon le prix.

- soit tu ajoutes un champ, ex, "tag" en tinyint(1) avec 0 par défaut pour tous les produits et 1 pour le produit à mettre en avant et ensuite tu fais une requête "order by tag desc, prix asc"

Voilà ce que je ferais :smartass:

Posté

bon ben :

if ($id_produit!=$monproduit){$liste_autres.=$resultat_requete;}
else {$premier=$resultat_requete;}

echo $premier,'<br>',$liste_autres;

Posté

georges, ça je pense qu'il aurait pu le trouver, il cherche justement à faire ça directement avec SQL ;)

J'ai une solution qui pourra peut-être t'aller si c'est pas trop complexe :

SELECT pseudo, age, pseudo='Dupont' AS coltri FROM membre ORDER BY coltri DESC

Il va tester la valeur de pseudo, mettre 0 ou 1 dans une nouvelle colonne appelée coltri, et ensuite trier cette colonne pour te retirer en premier la ligne exacte que tu voulais !

Voilà j'espère que ça t'ira comme ça ;)

Posté (modifié)
georges, ça je pense qu'il aurait pu le trouver, il cherche justement à faire ça directement avec SQL

ooops, désolé :blushing: , je tournerais ma souris sur le clavier 3 fois avant de poster la prochaine fois :wacko:

Edit : et vu que ça marche, j'enregistre l'astuce car je ne la connaissais pas du tout, merci à Sarc :P

Modifié par georges

Veuillez vous connecter pour commenter

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



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