Comme je l'ai dit, ce code mis dans le fichier viewforum.php fera venir les notes dans la page de vue d'un forum -> viewforum.php?f=X
Pour le faire venir dans un autre fichier, il faut le mettre dans le fichier php de ce fichier
Pour le mettre dans la vue des forums, le code suivant:
- Code: Tout sélectionner
$forum_id = request_var('f', 0);
est déjà présent en début du fichier!
Je refait un peu mieux le code car le précédent ne récupère pas tous les votes!!
- Code: Tout sélectionner
$ii = 1; $sql = 'SELECT t.topic_title, t.topic_id, AVG(e.evaluation) 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); while ($row = $db->sql_fetchrow($result))
{
if ($ii < 11) {
$template->assign_block_vars('eval', array(
'TITLE' => $row['topic_title'],
'MOY' => $row['moyenne'],
'ID' => $row['topic_id'], 'NB' => $ii, ));
}
else
{
break; }
$ii++;
}
$db->sql_freeresult($result);
Appel des variables avec {eval.TITLE}, {eval.MOY} et {eval.ID}
Ceci dans une boucle:
- Code: Tout sélectionner
<!-- BEGIN eval -->ton code ici<!-- END eval -->
Pour le faire venir dans la vue des sujets viewtopic.php?t=X il faut le mettre dans le fichier viewtopic.php mais, il ne pourra donner que la note du sujet en cours.
pour la vue des sujets, c'est ce code qui donne l'id du sujet en cours (présent déjà...)
- Code: Tout sélectionner
$topic_id = request_var('t', 0);
- Code: Tout sélectionner
$sql = 'SELECT AVG(evaluation) AS moyenne
FROM ' . TOPICS_EVALUATION_TABLE . "
WHERE topic_id = $topic_id";
$result = $db->sql_query($sql);
$moyenne = $db->sql_fetchfield('moyenne')
$db->sql_freeresult($result);
$template->assign_var('MOYENNE', $moyenne);
Pour faire venir la moyenne des notes dans le html, ici, l'appeler avec {MOYENNE} simplement