Tri assez compliqué (avec ou sans mysql)

dadybond Messages postés 32 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 13 septembre 2004 - 19 juin 2004 à 19:47
dadybond Messages postés 32 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 13 septembre 2004 - 21 juin 2004 à 13:43
Bonjour, je voudrais faire un systéme de classement de photos en fonction de leurs moyennes reçues et de leurs nombres de notes.
Je peux donc trier les résultats par moyennes mais lorsque la moyenne est identique l'ordre (la priorité de l'une plus que l'autre) devient aléatoire. Comment faire pour trier par moyennes et si deux moyennes sont identiques donner plus de poids à la photo qui à eu le plus de notes ?

J'avais trouvé une solution mais elle ne me paraissée pas viable à long terme....
Je procédé comme suit :
Je recuperer l'ensemble des moyennes avec leurs nombre de notes. Ensuite je multiplié chaques moyennes par (leurs nombre de notes respectifs + 10000000) ceci me donné donc un nombre que updaté sur le champ rapport des votes de chaques photo vers mysql, il ne me resté plus qu'a trier par ce champ et c'était correct mais le problème est le jours ou le produit du nombre de notes par la moyenne dépasse 10000000 le rapport ne fonctionne plus il est fossé !
Vous pourrez me dire je peux tjs augmenter ce nombre pour que ça n'arrive pas mais je trouve que c un peu "bricol" donc c'est pkoi je fait appel à vous.
Merci

2 réponses

cs_lotr Messages postés 128 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 12 août 2005
20 juin 2004 à 00:16
Salut,
si tu utilises Mysql, il te suffit de faire un tri avec plusieurs parametres dans ta requete. Un truc du genre :
SELECT * FROM nom_table ORDER BY parametre1,parametre2
0
dadybond Messages postés 32 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 13 septembre 2004
21 juin 2004 à 13:43
En fait ce systéme là ne fonctionne pas car le tri s'effectue sans donner plus d'importance à la moyenne plus qu'au nombre de notes.

Donc exemple :
- une moyenne de 6 (2000 notes)
- une moyenne de 9 (10 notes)

Et bien la moyenne de 9 doit sortir dans les résultats avant celle de 6 et avec ta solution c'est la moyenne de 6 qui sort avant dans les résultats car elle a bcp plus de notes.
0
Rejoignez-nous