captain_torche Posté 10 Août 2006 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 ?
georges Posté 10 Août 2006 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
captain_torche Posté 10 Août 2006 Auteur 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.
georges Posté 10 Août 2006 Posté 10 Août 2006 bon ben : if ($id_produit!=$monproduit){$liste_autres.=$resultat_requete;}else {$premier=$resultat_requete;}echo $premier,'<br>',$liste_autres;
Sarc Posté 10 Août 2006 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
captain_torche Posté 10 Août 2006 Auteur 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 !
georges Posté 10 Août 2006 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant