captain_torche Posté 10 Août 2006 Partager Posté 10 Août 2006 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 ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
georges Posté 10 Août 2006 Partager Posté 10 Août 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 10 Août 2006 Auteur Partager Posté 10 Août 2006 Sauf que je ne peux pas toucher à la structure des tables, et que j'aimerais éviter d'avoir à faire deux requêtes Mais merci quand même. Lien vers le commentaire Partager sur d’autres sites More sharing options...
georges Posté 10 Août 2006 Partager Posté 10 Août 2006 bon ben : if ($id_produit!=$monproduit){$liste_autres.=$resultat_requete;}else {$premier=$resultat_requete;}echo $premier,'<br>',$liste_autres; Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 10 Août 2006 Partager Posté 10 Août 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 10 Août 2006 Auteur Partager Posté 10 Août 2006 Je teste de suite, je te tiens au courant ! [Edit] : Super ! C'est exactement ce qu'il me fallait ! Merci, sarc ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
georges Posté 10 Août 2006 Partager Posté 10 Août 2006 (modifié) georges, ça je pense qu'il aurait pu le trouver, il cherche justement à faire ça directement avec SQL ooops, désolé , je tournerais ma souris sur le clavier 3 fois avant de poster la prochaine fois Edit : et vu que ça marche, j'enregistre l'astuce car je ne la connaissais pas du tout, merci à Sarc Modifié 10 Août 2006 par georges Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant