ajout gestion des jeux (ajout, modif, suppr) et maj journal séance 3

This commit is contained in:
2026-06-05 23:56:12 +02:00
parent 3ae04250f0
commit dab366607a
7 changed files with 209 additions and 9 deletions
@@ -89,7 +89,7 @@ $autoload['drivers'] = array();
|
| $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array();
$autoload['helper'] = array('url','form');
/*
| -------------------------------------------------------------------
@@ -23,7 +23,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
| a PHP script and you can easily do that on your own.
|
*/
$config['base_url'] = 'https://dwarves.iut-fbleau.fr/~doucoure/sae_r301_gr12/codeigniter-develop/';
$config['base_url'] = 'https://dwarves.iut-fbleau.fr/~doucoure/sae_r301_g12/codeigniter-develop/';
/*
|--------------------------------------------------------------------------
@@ -0,0 +1,75 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Jeux extends CI_Controller {
public function ajouter(){
$this->load->helper('url');
$this->load->helper('form');
$this->load->view("formulaire_ajout");
}
public function sauvegarder() {
$this->load->helper('url');
$titre = $this->input->post('titre');
$annee = $this->input->post('annee');
$description = $this->input->post('description');
$prix = $this->input->post('prix');
$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>";
} 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
}
// On charge la vue en lui passant les infos du jeu
$this->load->view('formulaire_ajout', $donnees);
}
public function mettre_a_jour($id) {
$titre = $this->input->post('titre');
$annee = $this->input->post('annee');
$description = $this->input->post('description');
$prix = $this->input->post('prix');
$this->load->model('Game_model');
$maj = $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>";
} else {
echo "<h2>Erreur lors de la modification.</h2>";
}
}
}
@@ -56,6 +56,39 @@ class Game_model extends CI_Model {
return $query->row_array();
}
public function ajouter_jeu($titre, $annee, $description, $prix) {
$donnees = array(
'name' => $titre,
'releaseYear' => $annee,
'shortDescription' => $description,
'price' => empty($prix) ? NULL : $prix
);
return $this->db->insert('game', $donnees);
}
public function supprimer_jeu($id) {
return $this->db->delete('game', array('id' => $id));
}
public function get_jeu($id) {
$leJeu = $this->db->get_where('game', array('id' => $id));
return $leJeu->row_array();
}
public function modifier_jeu($id, $titre, $annee, $description, $prix) {
$donnees = array(
'name' => $titre,
'releaseYear' => $annee,
'shortDescription' => $description,
'price' => empty($prix) ? NULL : $prix
);
$this->db->where('id', $id);
return $this->db->update('game', $donnees);
}
}
@@ -0,0 +1,37 @@
<h2><?php echo isset($jeu) ? "Modifier le jeu" : "Ajouter un nouveau jeu"; ?></h2>
<?php
if (isset($jeu)) {
// Si modification, on envoie vers la fonction de mise à jour avec l'ID
echo form_open('jeux/mettre_a_jour/' . $jeu['id']);
} else {
// Si ajout, on garde l'ancienne action
echo form_open('jeux/sauvegarder');
}
?>
<p>
<label for="titre">Titre du jeu :</label>
<input type="text" name="titre" id="titre" value="<?php echo isset($jeu) ? html_escape($jeu['name']) : ''; ?>" required>
</p>
<p>
<label for="annee">Année de sortie :</label>
<input type="number" name="annee" id="annee" value="<?php echo isset($jeu) ? html_escape($jeu['releaseYear']) : ''; ?>" required>
</p>
<p>
<label for="description">Description courte :</label><br>
<textarea name="description" id="description" rows="4" cols="50" required><?php echo isset($jeu) ? html_escape($jeu['shortDescription']) : ''; ?></textarea>
</p>
<p>
<label for="prix">Prix (en centimes) :</label>
<input type="number" name="prix" id="prix" value="<?php echo isset($jeu) ? html_escape($jeu['price']) : ''; ?>">
</p>
<p>
<button type="submit"><?php echo isset($jeu) ? "Mettre à jour" : "Enregistrer"; ?></button>
</p>
</form>