Merge pull request 'ajout du tri des jeux' (#5) from feat-tri-jeux into main

Reviewed-on: #5
Reviewed-by: Ulysse JARNOUEN DE VILLARTAY <ulyssejdv@protonmail.com>
This commit was merged in pull request #5.
This commit is contained in:
2026-06-10 16:40:03 +02:00
4 changed files with 95 additions and 36 deletions
@@ -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 "<h2>Le jeu " . $titre . " a bien été ajouté à la base de données.</h2>";
echo "<a href='" . site_url('jeux/ajouter') . "'>Ajouter un autre jeu</a>";
$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 "<h2>Erreur de la base de données :</h2>";
print_r($this->db->error());
}
}
public function supprimer($id) {
$this->load->model('Game_model');
$supr = $this->Game_model->supprimer_jeu($id);
if ($supr) {
echo "<h2>Le jeu numéro " . $id . " a bien été supprimé de la base de données !</h2>";
} else {
echo "<h2>impossible de supprimer le jeu.</h2>";
}
}
// 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 "<h2>Le jeu " . html_escape($titre) . " a bien été modifié.</h2>";
echo "<a href='" . site_url('jeux/ajouter') . "'>Retour à l'ajout</a>";
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 "<h2>Erreur lors de la modification.</h2>";
$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);
}
}
@@ -88,6 +88,20 @@ 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();
}
}
@@ -0,0 +1,15 @@
<h2>Liste des jeux</h2>
<p>Trier par :
<a href="<?php echo site_url('jeux/lister/name'); ?>">Titre (A-Z)</a> |
<a href="<?php echo site_url('jeux/lister/releaseYear'); ?>">Année de sortie</a>
</p>
<ul>
<?php foreach ($jeux as $jeu): ?>
<li>
<strong><?php echo html_escape($jeu['name']); ?></strong>
- <em>(<?php echo html_escape($jeu['releaseYear']); ?>)</em>
</li>
<?php endforeach; ?>
</ul>
@@ -0,0 +1,7 @@
<h2><?php echo $titre_message; ?></h2>
<p><?php echo $contenu_message; ?></p>
<p>
<a href="<?php echo site_url($lien_retour); ?>">Retour</a>
</p>