Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • a4a6dd66e7244d70c86a96c88a26903a29d0a0f4
  • master par défaut protégée
  • alves
3 résultats

User.php

Blame
  • Classement.php 2,86 Kio
    <?php
    
    class Classement extends Model { // classe de modèle pour l'affichage de classements
    	public $classement, $lejeu, $slug; // on définit les attributs de la classe
    	
    	public static function getFromSlug($slug) { // méthode permettant de récupérer le classement relatif à un jeu donné de la BDD
    		$db = Database::getInstance(); // on récupère la connexion à la BDD
    		$sql = "SELECT * FROM R_joueur_jeu WHERE jeu = :slug ORDER BY classement"; // on définit la requête qu'on enverra (on considère que le slug contient jeu/nomDuJeu pour le classement par jeu. Donc il faudrait encore faire un explode() sur le slug.
    		$req = $db->prepare($sql); // on prépare la requête (c'est là que la mémthode __call() est utile dans la classe Database d'ailleurs)
    		$req->setFetchMode(PDO::FETCH_CLASS, "Classement"); // règle le type dans lequel on doit mettre les données (PDO va chercher les attributs de la classe de même nom que ses colonnes de BDD et mettre dedans les valeurs correspondantes)
    		$req->execute(array(":slug" => $slug)); // on remplace le "::slug" par sa valeur dans la requête
    		$res = array();
    		while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste
    			$perso = Profil::getFromSlug($ligne['joueur']);
    			$res[] = array(	'slug' => $ligne['joueur'],
    							'pseudo' => $perso->pseudo,
    							'avatar' => $perso->avatar ? BASE_URL."/images/avatar/".$perso->slug.".jpg": BASE_URL."/images/profil_42.jpg",
    							'score' => $ligne['score'],
    							'classement' => $ligne['classement']);
    		}
    		return $res;
    		//return array(array("pseudo"=>"debug","rank"=>$slug), array("pseudo"=>"exemple","rank"=>1), array("pseudo"=>"nestor","rank"=>42));
    	}
    	
    	public static function getGlobal() { // méthode permettant de récupérer le classement génaral de la BDD
    		//$db = Database::getInstance(); // on récupère la connexion à la BDD
    		//$sql = "SELECT * FROM classements WHERE jeu = :slug"; // on définit la requête qu'on enverra (on considère que le slug contient jeu/nomDuJeu pour le classement par jeu. Donc il faudrait encore faire un explode() sur le slug.
    		//$req = $db->prepare($sql); // on prépare la requête (c'est là que la mémthode __call() est utile dans la classe Database d'ailleurs)
    		//$req->setFetchMode(PDO::FETCH_CLASS, "Classement"); // règle le type dans lequel on doit mettre les données (PDO va chercher les attributs de la classe de même nom que ses colonnes de BDD et mettre dedans les valeurs correspondantes)
    		//$req->execute(array(":slug" => $slug)); // on remplace le "::slug" par sa valeur dans la requête
    		//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));
    	}
    }