Classer des notes attribuées à des topics

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans ce forum.

Modérateur: Equipe

Re: Classer des notes attribuées à des topics

Messagepar Pegdm » 15 Juin 2011 à 11:07

Oyo a écrit:tu as biens mis ceci:
$forum_id = request_var('f', 0);

Non je n'ai pas mis ce code, je dois l'insérer quelque part?

Sinon, j'ai l'url rewrite de phpbbseo je ne sais si ça peut influer (surement)

Sinon dans l'url non, je n'ai pas de f, ça doit venir de là donc?
J'ai un t et le numéro du topic, mais pas de f
Pegdm
Roi des posts
Roi des posts
 
Messages: 607
Inscription: 03 Oct 2010 à 16:12

Re: Classer des notes attribuées à des topics

Messagepar Oyo » 15 Juin 2011 à 12:16

hum avec un f tu dois pouvoir trouver l'id du forum en faisant un requêtes :)
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

Oyo's folio | PrestaShop | PrestaStore | PrestaBox
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15266
Inscription: 12 Fév 2003 à 19:02
Localisation: Paris

Re: Classer des notes attribuées à des topics

Messagepar sylver35 » 15 Juin 2011 à 12:18

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; // initialisation du compteur
$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); // pas de limites pour recuperer toutes les notes
while ($row = $db->sql_fetchrow($result))
{
    if ($ii < 11) // 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); 

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
Dernière édition par sylver35 le 15 Juin 2011 à 16:10, édité 1 fois.
La vitesse de la lumière étant supérieure à la vitesse du son, bien des gens paraissent brillants jusqu'au moment où ils ouvrent la bouche.

Image

Nouvelle version du 25/12/2011: Mod Breizh Shoutbox v1.5.0 || Nouvelle version du 22 Mai: Mod Breizh Ajax Checks 1.3.0
Nouvelle version du 04/03/2012: Mod Browser, os & Screen 1.0.0
|| Version du 05/03/2012 -> Erreurs et Notices de débug v1.2.0
Info Sécurité -> Renommer le dossier d'administration adm || Une captcha efficace contre les inscriptions robots || Hébergement breizh hosting (- 15% via Breizh Portal)
Avatar de l’utilisateur
sylver35
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 4571
Inscription: 26 Fév 2008 à 14:58
Localisation: Bretagne

Re: Classer des notes attribuées à des topics

Messagepar Pegdm » 15 Juin 2011 à 13:40

Merci sylver, ça marche nickel :wink:

j'ai copié le même code dans viewtopic et ça marche, j'obtiens le classement, par contre il y a onze topics au lieu de 10, mais ça se règle facilement ça

Deux petites questions sinon, sans vouloir abuser: comment récupérer le rang du topic dans le classement? par exemple dans viewtopic afficher le rang? (5ème sur X topic)

Et, apparemment il faut que je pose la question ici, je cherche comment classer les topics dans viewforum par notes (même chose du mieux notés au moins bon) (ajouter éventuellement cette option dans les options de tri: par date etc.), vous avez une idée de comment faire? J'ai vu que ça se passait dans viewforum et viewtopic, ajouter ou modifier éventuellement un ORDER BY?

Merci d'avance
Pegdm
Roi des posts
Roi des posts
 
Messages: 607
Inscription: 03 Oct 2010 à 16:12

Re: Classer des notes attribuées à des topics

Messagepar Pegdm » 16 Juin 2011 à 14:10

Bonjour,

Je reviens vers vous pour cette histoire de tri par moyenne dans viewforum, j'ai essayé de comprendre le code mais c'est assez complexe,

Savez-vous comment je pourrais rajouter une option de tri par note? à la manière de la requête précédente:
Code: Tout sélectionner
ORDER BY moyenne DESC


Peut être adapter cette requête au tri des sujets dans viewforum?

Merci d'avance
EDIT: merci sylver je viens de voir ton edit, c'est très sympa, je vais essayer de m'arranger avec ça :wink:
Pegdm
Roi des posts
Roi des posts
 
Messages: 607
Inscription: 03 Oct 2010 à 16:12

Re: Classer des notes attribuées à des topics

Messagepar Pegdm » 17 Juin 2011 à 14:09

Bonjour,

Petit up concernant le tri des sujets dans viewforum en fonction de la moyenne? Quelqu'un a une idée?

Merci d'avance
Pegdm
Roi des posts
Roi des posts
 
Messages: 607
Inscription: 03 Oct 2010 à 16:12

Re: Classer des notes attribuées à des topics

Messagepar Morgyanne » 25 Oct 2011 à 07:39

Salut,

as-tu avancé depuis le mois de juin ?

@+
Morgyanne :)
Demande de support par MP = Poubelle
Avatar de l’utilisateur
Morgyanne
Administrateur
Administrateur
 
Messages: 31610
Inscription: 21 Mar 2005 à 12:28
Localisation: Juste derrière toi...

Précédente

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 1 invité

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant