je cherche à afficher un classement de photos d'avions les plus appréciés (nb de votes) dans leur catégorie (classe)
la page concernée.
Code : Tout sélectionner
table :
numero classe nb_votes
101 mirage 2000 3
230 transall 4
879 c-17 2
519 transall 1
45 C-17 3
7 Mirage2000 5
résultat escompté :
7 Mirage2000 5
230 transall 4
45 C-17 3$result = mysql_query("SELECT classe, numero, MAX(nb_votes) FROM table
GROUP BY classe ORDER BY MAX(nb_votes) DESC LIMIT 0,6") or die(mysql_error());
while ($row = mysql_fetch_array($result)){
echo ' '.$row['numero'].' '.$row['classe'].' '.$row['nb_votes'].' ';
avec cette requete, je suis pas loin de ce que j'aimeraisj'obtiens pour une classe donnée le vote max, mais le numéro correspond à l'image de celle qui est classée 2ème ?!
exemple: au lieu de
7 Mirage2000 5
j'ai
101 mirage 2000 5
avec celui ci (que je n'ai pas compris), j'affiche un résultat mais incomplet; genre il manque la ligne " 230 transall 4"
$result = mysql_query("SELECT t1.numero, t1.nb_votes, t1.classe FROM table t1
WHERE t1.nb_votes = (SELECT MAX(t2.nb_votes) FROM table t2 WHERE t2.classe = t1.classe)
GROUP BY classe ORDER BY MAX(nb_votes) DESC LIMIT 0,6") or die(mysql_error());
while ($row = mysql_fetch_assoc($result)){
echo ' '.$row["numero"].' '.$row["classe"].' '.$row["nb_votes"].' ';
merci de votre aide