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);
Trouvez des réponses à vos questions sur la création de sites web, le référencement et les meilleures pratiques pour gérer un site. Échangez avec d'autres webmasters passionnés pour améliorer vos compétences en ligne et optimiser vos projets de site web.