diff --git a/application/controllers/Music.php b/application/controllers/Music.php index 70fc256..dec0599 100644 --- a/application/controllers/Music.php +++ b/application/controllers/Music.php @@ -6,7 +6,7 @@ class Music extends CI_Controller { public function __construct(){ parent::__construct(); $this->load->model('model_music'); - $this->load->library('session'); // La session est déjà chargée via autoload.php, mais par précaution. + $this->load->library('session'); } public function index(){ @@ -33,21 +33,17 @@ class Music extends CI_Controller { $this->load->view('layout/footer'); } - public function view($songId) { - $songData = $this->model_music->getSongDetails($songId); - - $is_logged_in = $this->session->userdata('logged_in'); - $data = array( - 'song' => $songData['song'], - 'album' => $songData['album'], - 'artist' => $songData['artist'], - 'is_logged_in' => $is_logged_in - ); - - $this->load->view('layout/header', $data); - $this->load->view('song_details', $data); - $this->load->view('layout/footer'); - } - -} + public function view($trackId) { + $songData = $this->model_music->getSongDetails($trackId); + $is_logged_in = $this->session->userdata('logged_in'); + $data = array( + 'song' => $songData, + 'is_logged_in' => $is_logged_in + ); + + $this->load->view('layout/header', $data); + $this->load->view('song_details', $data); + $this->load->view('layout/footer'); + } +} diff --git a/application/models/Model_music.php b/application/models/Model_music.php index 23151be..c546fc2 100644 --- a/application/models/Model_music.php +++ b/application/models/Model_music.php @@ -153,36 +153,17 @@ class Model_music extends CI_Model { public function getSongDetails($songId) { - // Get song details - $this->db->select('song.name as songName, song.id'); - $this->db->from('song'); - $this->db->where('song.id', $songId); - $songQuery = $this->db->get(); - $songDetails = $songQuery->row(); - - // Get album details for the song - $this->db->select('album.id as albumId, album.name as albumName, album.year'); - $this->db->from('album'); - $this->db->join('track', 'track.albumId = album.id'); - $this->db->where('track.songId', $songId); - $albumQuery = $this->db->get(); - $albumDetails = $albumQuery->row(); - - // Get artist details for the album - $this->db->select('artist.id as artistId, artist.name as artistName'); - $this->db->from('artist'); - $this->db->join('album', 'album.artistId = artist.id'); - $this->db->where('album.id', $albumDetails->albumId); - $artistQuery = $this->db->get(); - $artistDetails = $artistQuery->row(); - - return array('song' => $songDetails, 'album' => $albumDetails, 'artist' => $artistDetails); + $this->db->select('song.name as songName, song.id as songId, album.name as albumName, album.id as albumId, album.year, artist.name as artistName, artist.id as artistId, cover.jpeg'); + $this->db->from('track'); + $this->db->join('album', 'track.albumId = album.id'); + $this->db->join('song', 'song.id = track.songId'); + $this->db->join('artist', 'album.artistid = artist.id'); + $this->db->join('cover', 'cover.id = album.coverid'); + $this->db->where('track.id', $songId); + + $result = $this->db->get(); + return $result->row_array(); } - - - - - // Suppression de la deuxième méthode researchtype diff --git a/application/views/musiques_list.php b/application/views/musiques_list.php index 952f03d..8b35a8e 100644 --- a/application/views/musiques_list.php +++ b/application/views/musiques_list.php @@ -4,12 +4,12 @@ foreach($musics as $music){ echo "<div><article>"; echo "<header class='short-text'>"; - if(isset($music->albumName)) { - echo anchor("music/view/{$music->trackId}", $music->albumName); + if(isset($music->trackName)) { + echo anchor("music/view/{$music->trackId}", $music->trackName); } echo "</header>"; echo '<img src="data:image/jpeg;base64,'.base64_encode($music->jpeg).'" />'; - echo "<footer class='short-text'>{$music->year} - {$music->artistName}</footer> + echo "<footer class='short-text'>{$music->year} - {$music->artistName} - {$music->albumName}</footer> </article></div>"; } ?> diff --git a/application/views/song_details.php b/application/views/song_details.php index 704454e..d72203e 100644 --- a/application/views/song_details.php +++ b/application/views/song_details.php @@ -5,11 +5,10 @@ </head> <body> <h1><?= $song['songName'] ?></h1> - <p><strong>Album:</strong> <?= anchor("music/view/{$song['albumId']}", $song['albumName']) ?> (<?= $song['album']['year'] ?>)</p> - <p><strong>Artist:</strong> <?= $song['artist']['artistName'] ?></p> - <!-- Ajoutez ici d'autres détails de la chanson si nécessaire --> + <p><strong>Album:</strong> <?= anchor("music/view/{$song['albumId']}", $song['albumName']) ?> (<?= $song['year'] ?>)</p> + <p><strong>Artist:</strong> <?= $song['artistName'] ?></p> <?php if(isset($song['jpeg']) && $song['jpeg'] != ''): ?> - <img src="data:image/jpeg;base64,<?= base64_encode($song['jpeg']) ?>" alt="<?= $song['album']['albumName'] ?> Cover"> + <img src="data:image/jpeg;base64,<?= base64_encode($song['jpeg']) ?>" alt="<?= $song['albumName'] ?> Cover"> <?php endif; ?> </body> </html>