Classement (top) PHP/MySQL

Fermé
Aurélien - 7 oct. 2010 à 18:59
 prob - 10 oct. 2010 à 03:37
Bonjour à tous,

voilà je voudrais pouvoir faire un classement des posteurs de messages sur mon site.

Seulement voilà, j'ai 2 restrictions,
*on ne doit pas créer de nouvelle table (comme classement etc...)
*le nombre de "posts" de chaque membre n'est pas enregistré dans un champs

Je souhaiterais donc faire cela juste pour l'afficher et non pas pour l'enregistrer dans la base de données.

Le principe est:
je vais chercher dans la table des messages tous les messages d'un membre (where Id_du_membre = "son_id") dans une boucle qui aura au préalable été chercher tous les id des membres,
puis les afficher du pus grand au plus petit (DESC) à côté du pseudo.

J'espère ne pas voir trop mal expliqué.
Je vous demande car moi je n'y arrive pas, je suis donc bloqué là dessus depuis 2 jours.

Merci beaucoup d'avance et bonne journée.


A voir également:

2 réponses

Pas de réponse ?
S'il vous plait.

Cela fait des jours que je cherche, sans rien trouver.
1
Voir la fonction COUNT pour obtenir le nombre de post par auteur. Si c'est ça le seul critère de comparaison(aucun rapport avec l'ID qui donneras leur date d'enregistrement chronologique, si pas modifié lors d'un update ou insert qui aurait été fait sans auto-incrément).

Plusieurs façons de faire soit une grosse requête avec DISTINCT(qui sépares les résultats par critères distincts) et DESC pour tout faire en sql ou alors obtenir tout les COUNT par auteur et les trier par nombre à l'aide d'une boucle php.

La grosse requête SQL pourrait donner un truc du genre(à vérifier ou au pire à décomposer chaque jointure en sous-requêtes):

SELECT COUNT(texte) FROM message, auteur WHERE id_auteur.message=id_auteur.auteur DISTINCT id_auteur.auteur

// à adapter à la structure du SGBD bien sûr^^
// j'admets qu'il y a 2 tables(message et auteur) une pour les auteurs et une pour les messages et qu'ils ont les champs texte pour le contenu du message et id_auteur.message étant la clé étrangère de la table auteur sur la table message, id_auteur.auteur étant la clé primaire de la table auteur.
0