Trouver le rang dans une boucle de classement

Fermé
Pipol - 16 juin 2011 à 18:16
 Pipol - 17 juin 2011 à 11:23
Bonjour,

J'utilise une requête pour classer les notes attribuées aux topics de mon forum, j'aimerais réussir à afficher dans chaque topic le rang de ce topic dans le classement,

Cela devrait être possible puisque la boucle while détermine déjà le rang mais comment récupérer le rang de chaque topic et l'afficher? En l'état, lorsque je mets dans mon html {eval.NB} j'obtiens tous les rangs à la suite, ce qui n'a aucun intérêt

Voilà la requête:
$sql = 'SELECT t.topic_title, t.topic_id, ROUND(AVG(e.evaluation), 2) AS moyenne
    FROM  ' . TOPICS_EVALUATION_TABLE . ' AS e
        LEFT JOIN  ' . TOPICS_TABLE . " AS t ON t.topic_id = e.topic_id
        WHERE t.forum_id = $forum_id
    GROUP BY t.topic_id
    ORDER BY moyenne DESC";
$result = $db->sql_query($sql); // pas de limites pour recuperer toutes les notes
while ($row = $db->sql_fetchrow($result))
{
    if ($ii < 10) // Tant que le nombre est inférieur a 11...
    {
        $template->assign_block_vars('eval', array(
            'TITLE'    => $row['topic_title'],
            'MOY'    => $row['moyenne'],
            'ID'    => $row['topic_id'], // a des fins de verifications
	'NB'    	=>  $ii, // Donne le classement dans la boucle
        ));
    }
    else
    {
        break; // 10 moyennes de votes, on arrete la boucle
    }
    $ii++;
}
$db->sql_freeresult($result); 


Merci d'avance pour votre aide

A voir également:

1 réponse

Personne?
0