Forum Clubic

[PHP] tabeau associatif et trie

Bonjours tout le monde

je sais pas si le titre va tres bien pour mon probleme

enfaite j’ai 2 table SQL
l’un avec la fiche d’une personne
idx nom prénom etc…
l’autre avec les commmentaires
idx refer etc…

refer de la table commentaire corresponds a l’idx de la table fiche

j’aimerai enfaite sortir les 10 fiches qui ont le plus de commentaire
et je sais pas comment faire enfaite.

HELP ^^

merci

si c du mysql

c un truc dans le genre

select t1.idx, t1.nom, t1.prenom, count(t2.)
from t1 left join t2 on t1.idx=t2.refer
group by t1.idx
order by count(t2.
) desc
limit 0,10

je pige pas trop la

deja pk tu mets nom prénom alors que je veux juste savoir savoir le nom de commentaire par IDX

genre fiche.idx ->1 et com.idx 9 com.refer 1
fiche.idx ->1 et com.idx 10 com.refer 1
fiche.idx ->1 et com.idx 14 com.refer 1
fiche.idx ->2 et com.idx 11 com.refer 2
fiche.idx ->2 et com.idx 12 com.refer 1

ça doit donner
3 commentaire pour fiche 1
2 commentaire pour fiche 2
etc…

ensuite ça fait koi au juste ?
from t1 left join t2 on t1.idx=t2.refer

en gros avec ton code ça donne

SELECT trombino.idx, commentaires.idx, commentaires.refer, count( commentaires . * )
FROM trombino
LEFT JOIN commentaires ON trombino.idx = commentaires.idx
GROUP BY trombino.idx
ORDER BY count( commentaires . * ) DESC
LIMIT 0 , 10

et j’ai une erreur :slight_smile:

MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '*)
FROM trombino left join commentaires on trombino.idx=commen

>>> count(commentaire.<champ unique de commentaire>)

c pour ça que je disais a peur pres parce qu il me semblait bien qu il aime pas le <table>.* dans un count

il faut que dans table des commentaire tu es 2 id un pour l’id_commentaire et l’autre l’id_poster.
en suite tu selectione toute ta table
tu compte le nombre de resulta total de la table
et apres tu trie les id_commentaire enfonction de l’id de celui qu’il la poster
apres tu n’as plus cas compter les resultat de id_poster
Tout ca ce fait avec plusieur tableau mais une seul requette

j’ai 2 id dans ma table
idx et refer ce qui corresponds pour toi a ton
id_commentaire et id_poster

ensuite tu peux expliquer la suite de ton expliquation?

select table1.idt1, count(table2.refidt1) as compteur from table1 left join table2 on table1.idt1 = table2.refidt1
group by table1.idt1
order by compteur desc

la c testé ça marche il faut faire un alias de colonne (??)

Merci beaucoup quazardous

ça marche j’ai pas tout compris au code mais j’irai voir ça sur le site mysql pour les explication

ils font etre heureux les utilisateurs :wink:

merci encore pour ton aide