Vues affichages des listes par categorie/genre et fiche detaillee des jeux et creation de la page detail du jeu avec jointures gauches pour le developpeur et le poster

This commit is contained in:
2026-06-03 17:33:56 +02:00
parent 8151ab4a72
commit 3ae04250f0
13 changed files with 336 additions and 2 deletions
@@ -0,0 +1,29 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Category extends CI_Controller {
public function view($id = NULL) {
if ($id === NULL) {
redirect('home');
}
// 1. Charger les modèles nécessaires
$this->load->model('Game_model');
$this->load->model('Category_model');
// 2. Récupérer les infos de la catégorie pour afficher son nom
$this->db->where('categoryId', $id);
$data['category'] = $this->db->get('category')->row_array();
if (empty($data['category'])) {
show_404();
}
// 3. Récupérer tous les jeux de cette catégorie
$data['games'] = $this->Game_model->get_by_category($id);
// 4. Envoyer le tout à une nouvelle vue
$this->load->view('games_list_view', $data);
}
}
@@ -0,0 +1,24 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Game extends CI_Controller {
public function detail($id = NULL) {
if ($id === NULL) {
redirect('home');
}
// 1. Charger le modèle des jeux
$this->load->model('Game_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
$this->load->view('game_detail_view', $data);
}
}
@@ -0,0 +1,28 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Genre extends CI_Controller {
public function view($id = NULL) {
if ($id === NULL) {
redirect('home');
}
// 1. Charger les modèles nécessaires
$this->load->model('Game_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();
if (empty($data['genre'])) {
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);
}
}
@@ -0,0 +1,18 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller {
public function index() {
// 1. Charger les modèles
$this->load->model('Category_model');
$this->load->model('Genre_model');
// 2. Récupérer les données depuis les modèles
$data['categories'] = $this->Category_model->get_all();
$data['genres'] = $this->Genre_model->get_all();
// 3. Charger la vue en lui passant les données
$this->load->view('home_view', $data);
}
}