ajout du CSS sur les vues manquantes et formulaire d'ajout complet
This commit is contained in:
@@ -7,29 +7,24 @@ class Game_model extends CI_Model {
|
||||
$this->db->select('*');
|
||||
$this->db->from('game');
|
||||
$this->db->like('name', $keyword);
|
||||
|
||||
$query = $this->db->get();
|
||||
return $query->result_array();
|
||||
}
|
||||
|
||||
|
||||
public function get_by_category($category_id) {
|
||||
$this->db->select('game.*');
|
||||
$this->db->from('game');
|
||||
$this->db->join('game_category', 'game_category.gameId = game.id'); // C'était ICI l'erreur !
|
||||
$this->db->join('game_category', 'game_category.gameId = game.id');
|
||||
$this->db->where('game_category.categoryId', $category_id);
|
||||
|
||||
$query = $this->db->get();
|
||||
return $query->result_array();
|
||||
}
|
||||
|
||||
|
||||
public function get_by_genre($genre_id) {
|
||||
$this->db->select('game.*');
|
||||
$this->db->from('game');
|
||||
$this->db->join('game_genre', 'game_genre.gameId = game.id'); // Et ICI !
|
||||
$this->db->join('game_genre', 'game_genre.gameId = game.id');
|
||||
$this->db->where('game_genre.genreId', $genre_id);
|
||||
|
||||
$query = $this->db->get();
|
||||
return $query->result_array();
|
||||
}
|
||||
@@ -37,59 +32,110 @@ class Game_model extends CI_Model {
|
||||
public function get_by_id($game_id) {
|
||||
$this->db->select('game.*, developer.name as developer_name, poster.jpeg as poster_url');
|
||||
$this->db->from('game');
|
||||
|
||||
$this->db->join('developer', 'developer.id = game.developerId', 'left');
|
||||
$this->db->join('poster', 'poster.id = game.posterId', 'left');
|
||||
|
||||
$this->db->where('game.id', $game_id);
|
||||
|
||||
$query = $this->db->get();
|
||||
return $query->row_array();
|
||||
}
|
||||
|
||||
|
||||
public function ajouter_jeu($titre, $annee, $description, $prix) {
|
||||
public function ajouter_jeu($titre, $annee, $description, $prix, $developer_name = null, $categories = [], $genres = [], $jpeg_data = null) {
|
||||
// 1. Gérer le développeur
|
||||
$dev_id = NULL;
|
||||
if (!empty($developer_name)) {
|
||||
$dev = $this->db->get_where('developer', array('name' => $developer_name))->row_array();
|
||||
if ($dev) {
|
||||
$dev_id = $dev['id']; // Il existe déjà
|
||||
} else {
|
||||
$this->db->insert('developer', array('name' => $developer_name));
|
||||
$dev_id = $this->db->insert_id(); // On le crée
|
||||
}
|
||||
}
|
||||
|
||||
$poster_id = NULL;
|
||||
if (!empty($jpeg_data)) {
|
||||
$this->db->insert('poster', array('jpeg' => $jpeg_data));
|
||||
$poster_id = $this->db->insert_id();
|
||||
}
|
||||
|
||||
$donnees = array(
|
||||
'name' => $titre,
|
||||
'releaseYear' => $annee,
|
||||
'shortDescription' => $description,
|
||||
'price' => empty($prix) ? NULL : $prix
|
||||
'price' => empty($prix) ? NULL : $prix,
|
||||
'developerId' => $dev_id,
|
||||
'posterId' => $poster_id
|
||||
);
|
||||
return $this->db->insert('game', $donnees);
|
||||
$this->db->insert('game', $donnees);
|
||||
$game_id = $this->db->insert_id();
|
||||
|
||||
if (!empty($categories)) {
|
||||
foreach ($categories as $cat_id) {
|
||||
$this->db->insert('game_category', array('gameId' => $game_id, 'categoryId' => $cat_id));
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($genres)) {
|
||||
foreach ($genres as $gen_id) {
|
||||
$this->db->insert('game_genre', array('gameId' => $game_id, 'genreId' => $gen_id));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function modifier_jeu($id, $titre, $annee, $description, $prix, $developer_name = null, $categories = [], $genres = []) {
|
||||
$dev_id = NULL;
|
||||
if (!empty($developer_name)) {
|
||||
$dev = $this->db->get_where('developer', array('name' => $developer_name))->row_array();
|
||||
if ($dev) {
|
||||
$dev_id = $dev['id'];
|
||||
} else {
|
||||
$this->db->insert('developer', array('name' => $developer_name));
|
||||
$dev_id = $this->db->insert_id();
|
||||
}
|
||||
}
|
||||
|
||||
$donnees = array(
|
||||
'name' => $titre,
|
||||
'releaseYear' => $annee,
|
||||
'shortDescription' => $description,
|
||||
'price' => empty($prix) ? NULL : $prix,
|
||||
'developerId' => $dev_id
|
||||
);
|
||||
$this->db->where('id', $id);
|
||||
$this->db->update('game', $donnees);
|
||||
|
||||
$this->db->delete('game_category', array('gameId' => $id));
|
||||
if (!empty($categories)) {
|
||||
foreach ($categories as $cat_id) {
|
||||
$this->db->insert('game_category', array('gameId' => $id, 'categoryId' => $cat_id));
|
||||
}
|
||||
}
|
||||
|
||||
$this->db->delete('game_genre', array('gameId' => $id));
|
||||
if (!empty($genres)) {
|
||||
foreach ($genres as $gen_id) {
|
||||
$this->db->insert('game_genre', array('gameId' => $id, 'genreId' => $gen_id));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user