From 10cb7780623c52141815b50d63e4676c9435fe68 Mon Sep 17 00:00:00 2001 From: Table <romain.drouin@ensiie.fr> Date: Thu, 5 May 2016 21:29:23 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20des=20classement=20varible=20selon=20la?= =?UTF-8?q?=20base=20de=20don=C3=A9e=20sur=20le=20page=20de=20profil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/ProfilController.php | 4 +++ app/model/Classement.php | 36 ++++++++++++++++++++++++ app/view/Profil/display.html | 43 +++++++++++++++++++++-------- 3 files changed, 71 insertions(+), 12 deletions(-) diff --git a/app/controller/ProfilController.php b/app/controller/ProfilController.php index 9d507c5..e5b24b9 100644 --- a/app/controller/ProfilController.php +++ b/app/controller/ProfilController.php @@ -6,6 +6,10 @@ class ProfilController extends Controller { // classe de contrôleur pour l'affi // je précise que dans ce cas précis, le $slug ne contient que le pseudo du joueur sosu forme normalisée. Donc je pourrais renommer la variable $slug_joueur... $this->view->profil = Profil::getFromSlug($slug); // on utilise le modèle pour aller chercher en BDD le profil qui nous intéresse $this->view->profil->avatar = $this->view->profil->avatar ? BASE_URL."/images/avatar/".$this->view->profil->slug.".jpg": BASE_URL."/images/profil_42.jpg"; + list($i, $o, $p) = Classement::getClassementJoueur($slug); + $this->view->classement_top = $i; + $this->view->classement_down = $o; + $this->view->jeu_favori = $p; $this->view->display(); // on affiche ce profil } } diff --git a/app/model/Classement.php b/app/model/Classement.php index a5632c7..9960d98 100644 --- a/app/model/Classement.php +++ b/app/model/Classement.php @@ -31,4 +31,40 @@ class Classement extends Model { // classe de modèle pour l'affichage de classe //return $req->fetch(); // on retourne le premier (et normalement unique) résultat en BDD return array(array("pseudo"=>"debug","rank"=>"gen"), array("pseudo"=>"exemple","rank"=>1), array("pseudo"=>"gimli","rank"=>2), array("pseudo"=>"phoenix","rank"=>3), array("pseudo"=>"table","rank"=>4), array("pseudo"=>"nestor","rank"=>42)); } + + public static function getClassementJoueur($slug) { + $db = Database::getInstance(); // on récupère la connexion à la BDD + $sql = "SELECT * FROM R_joueur_jeu WHERE joueur LIKE :slug ORDER BY classement LIMIT 5"; + $req = $db->prepare($sql); + $req->execute(array(":slug" => $slug)); + $res_top = array(); + while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste + $jeu = Jeu::getFromSlug($ligne['jeu']); + $res_top[] = array( 'slug' => $ligne['jeu'], + 'nom' => $jeu->nom, + 'score' => $ligne['score'], + 'classement' => $ligne['classement']); + } + $sql = "SELECT * FROM R_joueur_jeu WHERE joueur = :slug ORDER BY classement DESC LIMIT 5"; + $req = $db->prepare($sql); + $req->execute(array(":slug" => $slug)); + $res_down = array(); + while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste + $jeu = Jeu::getFromSlug($ligne['jeu']); + $res_down[] = array( 'slug' => $ligne['jeu'], + 'nom' => $jeu->nom, + 'score' => $ligne['score'], + 'classement' => $ligne['classement']); + } + $sql = "SELECT * FROM R_joueur_jeu WHERE joueur LIKE :slug AND est_jeu_favoris"; + $req = $db->prepare($sql); + $req->execute(array(":slug" => $slug)); + $res_fav = array(); + while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste + $jeu = Jeu::getFromSlug($ligne['jeu']); + $res_fav[] = array( 'slug' => $ligne['jeu'], + 'nom' => $jeu->nom); + } + return array($res_top, $res_down, $res_fav); + } } diff --git a/app/view/Profil/display.html b/app/view/Profil/display.html index 1566803..33d097c 100644 --- a/app/view/Profil/display.html +++ b/app/view/Profil/display.html @@ -27,19 +27,32 @@ <div class="col-6"> <h3 class="stat-title">Jeux préférés</h3> <table class="jeux-preferes"> - <tr><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td></tr> - <tr><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td></tr> + <?php foreach($this->jeu_favori as $ligne) { + print " + <tr> + <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\"> <img src=\"".BASE_URL."/images/jeu/".$ligne['slug'].".jpg\" alt=\"logo de ".$ligne['nom']."\" /></a></td> + <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['nom']."</a></td> + </tr> + "; + } + ?> </table> </div> <div class="col-6"> <h3 class="stat-title">Meilleurs classements</h3> <table class="jeux-preferes"> - <tr><td>1</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>1e</td></tr> - <tr><td>2</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>2e</td></tr> - <tr><td>3</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>8e</td></tr> - <tr><td>4</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>9e</td></tr> - <tr><td>5</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>15e</td></tr> + <?php foreach($this->classement_top as $ligne) { + print " + <tr> + <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\"> <img src=\"".BASE_URL."/images/jeu/".$ligne['slug'].".jpg\" alt=\"logo de ".$ligne['nom']."\" /></a></td> + <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['nom']."</a></td> + <td>".$ligne['classement']."e </td> + <td>".$ligne['score']."</td> + </tr> + "; + } + ?> </table> <div class="more-link"><a href="" >Plus...</a></div> @@ -58,11 +71,17 @@ <div class="col-6"> <h3 class="stat-title">Pire classements</h3> <table class="jeux-preferes"> - <tr><td>1</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>500e</td></tr> - <tr><td>2</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>300e</td></tr> - <tr><td>3</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>250e</td></tr> - <tr><td>4</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>200e</td></tr> - <tr><td>5</td><td><img src="<?php echo BASE_URL; ?>/images/Cosmic_Encounter_(FFG).jpg" alt="logo jeu <>" /></td><td>Rencontres Cosmiques</td><td>100e</td></tr> + <?php foreach($this->classement_down as $ligne) { + print " + <tr> + <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\"> <img src=\"".BASE_URL."/images/jeu/".$ligne['slug'].".jpg\" alt=\"logo de ".$ligne['nom']."\" /></a></td> + <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['nom']."</a></td> + <td>".$ligne['classement']."e </td> + <td>".$ligne['score']."</td> + </tr> + "; + } + ?> </table> <div class="more-link"><a href="" >Plus...</a></div> </div> -- GitLab