db->query($query)->fetch(); //On retourne l'objet frâichement crée return $result; } /** * @brief Récupère toutes les partie relatives à un joueur * @arg $login login du joueur permettant de récupérer les partie qui lui sont associée * @return tableau de lignes de la base de données ou FALSE */ public function selectByLogin($login) { //Mise en place de la requête $query = "SELECT * FROM `game` WHERE `user_login`='$login' ORDER BY date DESC"; //On récupère les données $result = $this->db->query($query)->fetchAll(); //On retourne les données return $result; } /** * @brief Compte le nombre de jeux effectués par chaque joueurs */ public function countGame() { //Création de la requête $query = "SELECT COUNT(*) AS nb, user_login FROM game GROUP BY user_login ORDER BY user_login ASC"; //Récupération des données $result = $this->db->query($query)->fetchAll(); //On retourne les données return $result; } /** * @brief Insert une occurence game relative à l'objet passé * @arg $objet objet game à ajouter dans la base de données */ public function insert(&$objet) { //On stocke les données à ajouter $user = $objet->getUserLogin(); $length = $objet->getLength(); //On met en place la requête $query = "INSERT INTO `game`(`user_login`,`length`, `date`) VALUES ('$user','$length', NOW())"; //On envoie la requête try { $this->db->query($query); return TRUE; } catch (Exception $ex) { if (config::$debug) { echo $ex->getMessage(); } return FALSE; } } /** * @brief Fonction obsolète * @note il est impossible de faire une mise à jour d'une partie via le site */ public function update(&$objet) { //On ne fait rien } /** * @brief Supprime une occurence game de la base de données * @arg $id identifiant de la partie à supprimer * @note on utilise le ON DELETE CASCADE pour supprimer les réponses associées. La BDD reste donc cohérente */ public function delete($id) { //Mise en place de la requête SQL $query = "DELETE FROM `game` WHERE `id`='$id'"; //On envoie la requête SQL $result = $this->db->query($query); //On renvoie si oui ou non on a réussi la requête if ($result->rowCount() == 0) { return FALSE; } else { return TRUE; } } public function getLastId() { //Mise en place de la requête SQL $query = "SELECT MAX(id) FROM game LIMIT 1"; //On envoie la requête SQL $result = $this->db->query($query)->fetch(); //On retourne le résultat return $result; } } ?>