111 lines
3.3 KiB
PHP
111 lines
3.3 KiB
PHP
<?php
|
|
/**
|
|
* @brief Classe DAO relatif à la classe reponse_user
|
|
*/
|
|
class reponse_user_dao extends dao {
|
|
|
|
/**
|
|
* @brief Fonction gérant la récupération des réponses, de la table link_game_question
|
|
* @arg $idgame identifiant de la partie (% pour tout)
|
|
* @arg $idquest identifiant de la question (% pour tout)
|
|
* @return tableau d'objet reponse_user ou un objet reponse_user
|
|
*/
|
|
public function select($idgame, $idquest = NULL) {
|
|
//Inclusion de l'objet reponse_user
|
|
include_once 'metier/reponse_user.php';
|
|
|
|
//Mise en place de la première condition
|
|
$cond1 = "`game_id`='$idgame'";
|
|
|
|
//Si on a mis un %, on charge toutes les partie => la condition devient TRUE
|
|
if ($idgame == "%") {
|
|
$cond1 = "TRUE";
|
|
}
|
|
|
|
//Mise en place de la seconde condition
|
|
$cond2 = "`question_id`='$idquest'";
|
|
|
|
//Si on a mis un %, on charge toutes les questions => la condition devient TRUE
|
|
if ($idquest == "%") {
|
|
$cond2 = "TRUE";
|
|
}
|
|
|
|
//On met en place la requête
|
|
$query = "SELECT * FROM `link_game_question` WHERE $cond1 AND $cond2";
|
|
|
|
//On récupère les données
|
|
$result = $this->db->query($query);
|
|
|
|
//Si on a pas de données, inutilise d'aller plus loin
|
|
if (!$result) {
|
|
return FALSE;
|
|
}
|
|
|
|
//On parse les résultats en fonction de chaque cas
|
|
if ($idquest == "%") {
|
|
//On demande toutes les questions du jeu spécifié
|
|
$return = array();
|
|
$i = 0;
|
|
|
|
//On boucle pour chaque occurence
|
|
foreach ($result as $row) {
|
|
$return[$i] = new reponse_user($row["game_id"], $row["question_id"], $row["reponse"]);
|
|
$i++;
|
|
}
|
|
} else {
|
|
//On demande une seule partie
|
|
$return = $result->fetch();
|
|
}
|
|
|
|
//On retourne les résultats
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
* @brief Insert un objet reponse_user dans la base de données
|
|
* @arg $objet objet reponse_user à inserer
|
|
*/
|
|
public function insert(&$objet) {
|
|
//Récupération des données
|
|
$game_id = $objet->getGame();
|
|
$question_id = $objet->getQuestion();
|
|
$reponse = $objet->getReponse();
|
|
|
|
//Mise en place de la requête
|
|
$query = "INSERT INTO `link_game_question`
|
|
(`game_id`,`question_id`,`reponse`)
|
|
VALUES ('$game_id','$question_id','$reponse')";
|
|
|
|
//Envoie de 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 mais nécessaire pour l'héritage de DAO
|
|
* @note on ne peut pas mettre à jour les réponses de l'utilisateur
|
|
*/
|
|
public function update(&$objet) {
|
|
//On ne fait rien
|
|
}
|
|
|
|
/**
|
|
* @brief Fonction obsolète mais nécessaire pour l'héritage de DAO
|
|
* @note la réponse de l'utilisateur est automatiquement supprimée par la suppression de la partie elle-même, via un ON DELETE CASCADE
|
|
*/
|
|
public function delete($idgame) {
|
|
//One ne fait rien
|
|
}
|
|
|
|
|
|
}
|
|
|
|
?>
|