Calcul de la meilleur note

Signaler
Messages postés
875
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
22 juin 2012
-
Messages postés
875
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
22 juin 2012
-
Mon problème est plus une question d'algorithme que de PHP. J'ai besoin de récupérer les 5 items les mieux noté d'un site. Mais comment avoir un bon résultat, par exemple un item peu avoir 500 note et une moyenne de 9/10 contre un autre item avec une note de 10/10 pour une seul note. Comment avoir en premier le premier item comme top 5?

Have Fun ...

3 réponses

Messages postés
56
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
17 octobre 2009

C'est pas faute de pas vouloir mais la ... C'est soit tu classe en fonction des moyenne soit tu classe en fonction du nombre de vote mais pour prendre les deux en compte? C'est un critère bien trop difficile.
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Il n'y a sans doute pas de recette universelle pour faire cela. C'est à toi de définir ce qui te semble être le "top 5". J'entends par là ce qui te semble être le plus représentatif. C'est à mon avis très spécifique au type d'items, ... et à bien d'autres critères, comme par exemple la fréquence de mise à jour de ce "top 5"; inutile d'espérer avoir un résultat fiable si tu dois le faire à chaque visite si ton nombre d'items est élevé.
J'ai été confronté au problème il y a peu, sur une "grosse" base de données de 500000 enregistrements. J'ai opté pour une mise à jour journalière (la nuit, quand tout le monde pieute) J'avais le choix entre produire un classement "top list" qui aurait été actualisé très régulièrement mais qui n'aurait au final rien représenté de concret, ou au contraire un classement intégrant des coefficients portants sur des critères issus d'une dizaine de champs de tables différentes.
Dans mon algo j'ai donc pris le parti d'intégrer des coefficients pour chaque critère. Certes cela demande beaucoup de ressources au serveur, mais l'ajustement est ainsi bien plus simple à réaliser, et rien n'empêche d'écrire en dur cette algo une fois qu'il est satisfaisant, afin d'alléger (très peu) le serveur.

Si je prends un exemple au pif issue d'une DB similaire :
Ratiot de visites depuis l'inscription => coef 1.4
nombre de visites => coef 2.0
nombre de votes => coef 2.5
date de dernière connexion => coef 1.2
nombre de photos => coef 1.1
nombre de commentaires négatifs => coef 0.7
etc ...

Une fois de plus, c'est très lourd au niveau calcul, et ce n'est pas actualisé en temps réel, mais les résultats sont très satisfaisants.
Reste bien sur à se prendre la tête pour mettre ça en forme en SQL / PHP.

Si quelqu'un a d'autres idées je suis preneur,

Kohntark -
Messages postés
875
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
22 juin 2012

merci pour toute vos reponse !!! Effectivement c'est assez dur de trouver une solution!! Pour ma part j'ai multiplier la note sur 10 par 0.33 puis arrondi, ce qui me donne soit 1, 2 ou 3. En suite je prends toutes les notes dont le calcul égal 3 et je les class par ordre de nombre de vote. Ce calcul me permet de faire le top 5 mais aussi de classer mes items lors des listing...

Voilà voilà,

Merci,

Have Fun ...