diff --git a/codeigniter-develop/application/controllers/Game.php b/codeigniter-develop/application/controllers/Game.php
index 2341cb1..6ba6e3f 100644
--- a/codeigniter-develop/application/controllers/Game.php
+++ b/codeigniter-develop/application/controllers/Game.php
@@ -8,17 +8,19 @@ class Game extends CI_Controller {
redirect('home');
}
- // 1. Charger le modèle des jeux
$this->load->model('Game_model');
+ $this->load->model('Category_model');
+ $this->load->model('Genre_model');
- // 2. Récupérer les données du jeu cible
$data['game'] = $this->Game_model->get_by_id($id);
if (empty($data['game'])) {
show_404();
}
- // 3. Charger la vue de détail en lui poussant les données
+ $data['categories'] = $this->Category_model->get_by_game($id);
+ $data['genres'] = $this->Genre_model->get_by_game($id);
+
$this->load->view('game_detail_view', $data);
}
}
\ No newline at end of file
diff --git a/codeigniter-develop/application/controllers/Genre.php b/codeigniter-develop/application/controllers/Genre.php
index ff03ae5..fdf1703 100644
--- a/codeigniter-develop/application/controllers/Genre.php
+++ b/codeigniter-develop/application/controllers/Genre.php
@@ -8,10 +8,9 @@ class Genre extends CI_Controller {
redirect('home');
}
- // 1. Charger les modèles nécessaires
$this->load->model('Game_model');
+ $this->load->model('Genre_model');
- // 2. Récupérer les informations du genre pour afficher son nom
$this->db->where('genreId', $id);
$data['genre'] = $this->db->get('genre')->row_array();
@@ -19,10 +18,8 @@ class Genre extends CI_Controller {
show_404();
}
- // 3. Récupérer tous les jeux liés à ce genre
$data['games'] = $this->Game_model->get_by_genre($id);
- // 4. Envoyer les données à la vue
- $this->load->view('genre_games_list_view', $data);
+ $this->load->view('games_list_view', $data);
}
}
\ No newline at end of file
diff --git a/codeigniter-develop/application/controllers/Home.php b/codeigniter-develop/application/controllers/Home.php
index 3bb31fe..fc4b9ad 100644
--- a/codeigniter-develop/application/controllers/Home.php
+++ b/codeigniter-develop/application/controllers/Home.php
@@ -15,4 +15,20 @@ class Home extends CI_Controller {
// 3. Charger la vue en lui passant les données
$this->load->view('home_view', $data);
}
+
+ public function search() {
+ $keyword = $this->input->get('keyword', TRUE);
+
+
+ if (empty($keyword)) {
+ redirect('home');
+ }
+
+ $this->load->model('Game_model');
+ $data['games'] = $this->Game_model->search_by_title($keyword);
+ $data['search_keyword'] = $keyword;
+
+ $this->load->view('search_results_view', $data);
+}
+
}
\ No newline at end of file
diff --git a/codeigniter-develop/application/models/Category_model.php b/codeigniter-develop/application/models/Category_model.php
index 8af2c1f..caaf08d 100644
--- a/codeigniter-develop/application/models/Category_model.php
+++ b/codeigniter-develop/application/models/Category_model.php
@@ -16,4 +16,19 @@ class Category_model extends CI_Model {
return $query->result_array();
}
+
+
+ public function get_by_game($game_id) {
+ $this->db->select('category.*');
+ $this->db->from('category');
+
+ $this->db->join('game_category', 'game_category.categoryId = category.categoryId');
+
+ $this->db->where('game_category.gameId', $game_id);
+
+ $query = $this->db->get();
+
+ return $query->result_array();
+ }
+
}
\ No newline at end of file
diff --git a/codeigniter-develop/application/models/Game_model.php b/codeigniter-develop/application/models/Game_model.php
index 61a502c..6036a89 100644
--- a/codeigniter-develop/application/models/Game_model.php
+++ b/codeigniter-develop/application/models/Game_model.php
@@ -1,12 +1,17 @@
load->database();
+ public function search_by_title($keyword) {
+
+ $this->db->like('name', $keyword);
+ $query = $this->db->get('game');
+
+ return $query->result();
}
+}
/**
* Récupère les jeux appartenant à une catégorie spécifique
@@ -68,11 +73,11 @@ class Game_model extends CI_Model {
}
public function supprimer_jeu($id) {
- return $this->db->delete('game', array('id' => $id));
+ return $this->db->delete('game', array('gameId' => $id));
}
public function get_jeu($id) {
- $leJeu = $this->db->get_where('game', array('id' => $id));
+ $leJeu = $this->db->get_where('game', array('gameId' => $id));
return $leJeu->row_array();
}
@@ -84,7 +89,7 @@ class Game_model extends CI_Model {
'price' => empty($prix) ? NULL : $prix
);
- $this->db->where('id', $id);
+ $this->db->where('gameId', $id);
return $this->db->update('game', $donnees);
}
@@ -102,6 +107,16 @@ class Game_model extends CI_Model {
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();
+ }
}
diff --git a/codeigniter-develop/application/models/Genre_model.php b/codeigniter-develop/application/models/Genre_model.php
index 5d206ad..db1649b 100644
--- a/codeigniter-develop/application/models/Genre_model.php
+++ b/codeigniter-develop/application/models/Genre_model.php
@@ -5,14 +5,23 @@ class Genre_model extends CI_Model {
public function __construct() {
parent::__construct();
- $this->load->database();
+ $this->load->database();
}
- /**
- * Récupère tous les genres de la base de données
- */
public function get_all() {
$query = $this->db->get('genre');
return $query->result_array();
}
+
+ public function get_by_game($game_id) {
+ $this->db->select('genre.*');
+ $this->db->from('genre');
+
+ $this->db->join('game_genre', 'game_genre.genreId = genre.genreId');
+
+ $this->db->where('game_genre.gameId', $game_id);
+
+ $query = $this->db->get();
+ return $query->result_array();
+ }
}
\ No newline at end of file
diff --git a/codeigniter-develop/application/views/game_detail_view.php b/codeigniter-develop/application/views/game_detail_view.php
index ddab76c..2244f0f 100644
--- a/codeigniter-develop/application/views/game_detail_view.php
+++ b/codeigniter-develop/application/views/game_detail_view.php
@@ -2,38 +2,63 @@
- - Détails
+ Détails du jeu - = html_escape($game['name']) ?>
+
+ ⬅ Retour à l'accueil
- ← Retour à l'accueil
-
-
-
-
+
+
-
![Jaquette de <?php echo html_escape($game['title']); ?>](<?php echo html_escape($game['poster_url']); ?>)
+
![Poster de <?= html_escape($game['name']) ?>](<?= base_url('assets/uploads/' . html_escape($game['poster_url'])) ?>)
-
-
Aucune image
disponible
+
+ Aucun poster disponible
-
+
-
-
-
- - Année de sortie :
- - Développeur :
-
-
-
-
-
- Espace administration (Éditer / Supprimer)
-
-
-
+
+
= html_escape($game['name']) ?> (= html_escape($game['releaseYear']) ?>)
+
+
Développeur : = !empty($game['developer_name']) ? html_escape($game['developer_name']) : 'Inconnu' ?>
+
+
Prix : = !empty($game['price']) ? html_escape($game['price']) . ' €' : 'Non renseigné' ?>
+
+
Description :
+
= nl2br(html_escape($game['shortDescription'])) ?>
+
+
Catégories associées :
+
+
+
+
+ = html_escape($cat['name']) ?>
+
+
+
+ Aucune catégorie pour ce jeu.
+
+
+
Genres associés :
+
+
+
+
+ = html_escape($gen['name']) ?>
+
+
+
+ Aucun genre pour ce jeu.
+
+
+
+
\ No newline at end of file
diff --git a/codeigniter-develop/application/views/games_list_view.php b/codeigniter-develop/application/views/games_list_view.php
index 901bdbe..acfd645 100644
--- a/codeigniter-develop/application/views/games_list_view.php
+++ b/codeigniter-develop/application/views/games_list_view.php
@@ -2,28 +2,31 @@
-
Jeux de la catégorie
+
Liste des jeux
+
Retour à l'accueil
-
← Retour à l'accueil
-
-
Jeux dans la catégorie : ""
-
-
-
Aucun jeu trouvé dans cette catégorie pour le moment.
+
+
Jeux de la catégorie : = html_escape($category['name']) ?>
+
+
Jeux du genre : = html_escape($genre['name']) ?>
-
+
Liste des jeux
+
\ No newline at end of file
diff --git a/codeigniter-develop/application/views/home_view.php b/codeigniter-develop/application/views/home_view.php
index bd36d7a..6f2e119 100644
--- a/codeigniter-develop/application/views/home_view.php
+++ b/codeigniter-develop/application/views/home_view.php
@@ -9,14 +9,22 @@
Bienvenue sur l'application Jeux Vidéo
+
+ Rechercher un jeu vidéo
+
+
+
Nos Catégories
@@ -27,12 +35,12 @@
+
+
diff --git a/codeigniter-develop/application/views/search_results_view.php b/codeigniter-develop/application/views/search_results_view.php
new file mode 100644
index 0000000..bdc7bb2
--- /dev/null
+++ b/codeigniter-develop/application/views/search_results_view.php
@@ -0,0 +1,30 @@
+
+
+
+
+
Résultats de recherche pour ""
+
+
+
+
← Retour à l'accueil
+
+
Résultats pour : ""
+
+
+
Aucun jeu vidéo ne correspond à votre recherche.
+
+
jeu(x) trouvé(s) :
+
+
+
+
+
\ No newline at end of file