diff --git a/codeigniter-develop/application/controllers/Jeux.php b/codeigniter-develop/application/controllers/Jeux.php index bbd2b1f..a1a3d52 100644 --- a/codeigniter-develop/application/controllers/Jeux.php +++ b/codeigniter-develop/application/controllers/Jeux.php @@ -19,43 +19,21 @@ class Jeux extends CI_Controller { $this->load->model('Game_model'); $insertion_reussie = $this->Game_model->ajouter_jeu($titre, $annee, $description, $prix); + if ($insertion_reussie) { - echo "

Le jeu " . $titre . " a bien été ajouté à la base de données.

"; - echo "Ajouter un autre jeu"; + $donnees['titre_message'] = "Succès !"; + $donnees['contenu_message'] = "Le jeu " . html_escape($titre) . " a bien été ajouté à la base de données."; + $donnees['lien_retour'] = 'jeux/ajouter'; } else { - echo "

Erreur de la base de données :

"; - print_r($this->db->error()); - } - } - - public function supprimer($id) { - $this->load->model('Game_model'); - - $supr = $this->Game_model->supprimer_jeu($id); - - if ($supr) { - echo "

Le jeu numéro " . $id . " a bien été supprimé de la base de données !

"; - } else { - echo "

impossible de supprimer le jeu.

"; - } - } - - // 1. Affiche le formulaire pré-rempli - public function modifier($id) { - $this->load->model('Game_model'); - - // On récupère les infos du jeu - $donnees['jeu'] = $this->Game_model->get_jeu($id); - - // Si le jeu n'existe pas, on arrête tout - if (empty($donnees['jeu'])) { - show_404(); // Affiche la page d'erreur 404 de CodeIgniter + $donnees['titre_message'] = "Erreur"; + $donnees['contenu_message'] = "impossible d'ajouter le jeu."; + $donnees['lien_retour'] = 'jeux/ajouter'; } - // On charge la vue en lui passant les infos du jeu - $this->load->view('formulaire_ajout', $donnees); + $this->load->view('message_vue', $donnees); } + public function mettre_a_jour($id) { $titre = $this->input->post('titre'); $annee = $this->input->post('annee'); @@ -63,13 +41,58 @@ class Jeux extends CI_Controller { $prix = $this->input->post('prix'); $this->load->model('Game_model'); - $maj = $this->Game_model->modifier_jeu($id, $titre, $annee, $description, $prix); + $succes = $this->Game_model->modifier_jeu($id, $titre, $annee, $description, $prix); - if ($maj) { - echo "

Le jeu " . html_escape($titre) . " a bien été modifié.

"; - echo "Retour à l'ajout"; + if ($succes) { + $donnees['titre_message'] = "Succès !"; + $donnees['contenu_message'] = "Le jeu " . html_escape($titre) . " a bien été modifié."; + $donnees['lien_retour'] = 'jeux/modifier/' . $id; } else { - echo "

Erreur lors de la modification.

"; + $donnees['titre_message'] = "Erreur"; + $donnees['contenu_message'] = "Erreur lors de la modification du jeu."; + $donnees['lien_retour'] = 'jeux/modifier/' . $id; } + + $this->load->view('message_vue', $donnees); } + + + public function supprimer($id) { + $this->load->model('Game_model'); + $succes = $this->Game_model->supprimer_jeu($id); + + if ($succes) { + $donnees['titre_message'] = "Succès !"; + $donnees['contenu_message'] = "Le jeu numéro " . $id . " a bien été supprimé de la base de données."; + $donnees['lien_retour'] = 'jeux/ajouter'; + } else { + $donnees['titre_message'] = "Erreur"; + $donnees['contenu_message'] = "Aïe, impossible de supprimer le jeu."; + $donnees['lien_retour'] = 'jeux/ajouter'; + } + + $this->load->view('message_vue', $donnees); + } + + public function modifier($id) { + $this->load->model('Game_model'); + + $donnees['jeu'] = $this->Game_model->get_jeu($id); + + if (empty($donnees['jeu'])) { + show_404(); + } + + $this->load->view('formulaire_ajout', $donnees); + } + + public function lister($tri = 'name') { + $this->load->model('Game_model'); + + $donnees['jeux'] = $this->Game_model->get_tous_les_jeux($tri); + + $this->load->view('liste_jeux_vue', $donnees); + } + + } diff --git a/codeigniter-develop/application/models/Game_model.php b/codeigniter-develop/application/models/Game_model.php index f66a17e..6036a89 100644 --- a/codeigniter-develop/application/models/Game_model.php +++ b/codeigniter-develop/application/models/Game_model.php @@ -93,16 +93,30 @@ class Game_model extends CI_Model { return $this->db->update('game', $donnees); } + public function get_tous_les_jeux($critere_tri = 'id') { + $tris_autorises = array('id', 'name', 'releaseYear', 'price'); + + if (!in_array($critere_tri, $tris_autorises)) { + $critere_tri = 'id'; + } + + $this->db->order_by($critere_tri, 'ASC'); + + $query = $this->db->get('game'); + + return $query->result_array(); + } + public function search_by_title($keyword) { - $this->db->select('*'); - $this->db->from('game'); - - $this->db->like('title', $keyword); - - $query = $this->db->get(); - return $query->result_array(); -} + $this->db->select('*'); + $this->db->from('game'); + + $this->db->like('title', $keyword); + + $query = $this->db->get(); + return $query->result_array(); + } } diff --git a/codeigniter-develop/application/views/liste_jeux_vue.php b/codeigniter-develop/application/views/liste_jeux_vue.php new file mode 100644 index 0000000..776d785 --- /dev/null +++ b/codeigniter-develop/application/views/liste_jeux_vue.php @@ -0,0 +1,15 @@ +

Liste des jeux

+ +

Trier par : + Titre (A-Z) | + Année de sortie +

+ + \ No newline at end of file diff --git a/codeigniter-develop/application/views/message_vue.php b/codeigniter-develop/application/views/message_vue.php new file mode 100644 index 0000000..53579f9 --- /dev/null +++ b/codeigniter-develop/application/views/message_vue.php @@ -0,0 +1,7 @@ +

+ +

+ +

+ Retour +

\ No newline at end of file