<?php

/**
 * @brief Classe DAO relatif à l'objet group
 */
class groupe_dao extends dao {
    
    /**
     * @brief Récupère un objet de type groupe relatif à une occurence de la table group
     * @arg $id identifiant du groupe à retourner
     * @return tableau d'information ou false
     */
    public function select($id) {
        //Préparation de la requête
        $query = "SELECT * FROM `group` WHERE id = '" . $id . "'";

        //On envoie la requête
        $result = $this->db->query($query)->fetch();

        //On renvoie les données
        return $result;
    }

    public function selectByCat($cat) {
        //Préparation de la requête
        $query = "SELECT * FROM `group` WHERE categorie_nom = '" . $cat . "'";

        //On envoie la requête
        $result = $this->db->query($query)->fetchAll();

        //On renvoie les données
        return $result;
    }

    /**
     * @brief Fonction obsolète
     * @note on ne fait pas d'insertion via le site, seulement via l'application JAVA
     */
    public function insert(&$objet) {
        //On ne fait rien
    }

    /**
     * @brief Fonction obsolète
     * @note il est impossible de supprimer un groupe sur le site. C'est possible via l'application JAVA uniquement
     */
    public function delete($id) {
        //On ne fait rien
    }

    /**
     * @brief Fonction obsolète
     * @note il est impossible de mettre à jour un groupe via le site. Seul l'application JAVA pourra le faire
     */
    public function update(&$objet) {
        //On ne fait rien
    }

    /**
     * @brief Compte le nombre de groupe de question par catégories
     */
    public function count($cat) {
        //Préparation de la requête
        $query = "SELECT COUNT(*) FROM `group` WHERE `categorie_nom` = '" . $cat . "'";

        //On envoie la requête
        $result = $this->db->query($query)->fetch();

        //On renvoie les données
        return $result;
    }

    /**
     * @brief Compte le nombre total de groupe de question
     */
    public function countAll() {
        //Préparation de la requête
        $query = "SELECT COUNT(*) FROM `group`";

        //On envoie la requête
        $result = $this->db->query($query)->fetch();

        //On renvoie les données
        return $result;
    }


}

?>
