From 3ecd5c63e57b7b0e320d2efd84a7a5d6dcda0b75 Mon Sep 17 00:00:00 2001
From: Vincent <xefal77@gmail.com>
Date: Wed, 5 Jun 2024 00:59:23 +0200
Subject: [PATCH] views artistes

---
 application/controllers/Artistes.php | 27 ++++++++++++++-------------
 application/models/Model_music.php   | 16 +++++++++++++---
 application/views/artists_list.php   |  2 +-
 3 files changed, 28 insertions(+), 17 deletions(-)

diff --git a/application/controllers/Artistes.php b/application/controllers/Artistes.php
index a7790ec..524557a 100644
--- a/application/controllers/Artistes.php
+++ b/application/controllers/Artistes.php
@@ -31,19 +31,20 @@ class Artistes extends CI_Controller {
     }
 
     public function view($artistId) {
-        $artistData = $this->model_music->getArtistDetails($artistId);
-
-        $is_logged_in = $this->session->userdata('logged_in');
-        $data = array(
-            'artist' => $artistData['artist'],
-            'albums' => $artistData['albums'],
-            'is_logged_in' => $is_logged_in
-        );
-
-        $this->load->view('layout/header', $data);
-        $this->load->view('artist_details', $data);
-        $this->load->view('layout/footer');
-    }
+		$artistData = $this->model_music->getArtistDetails($artistId);
+	
+		$is_logged_in = $this->session->userdata('logged_in');
+		$data = array(
+			'artist' => $artistData['artist'],
+			'albums' => $artistData['albums'],
+			'is_logged_in' => $is_logged_in
+		);
+	
+		$this->load->view('layout/header', $data);
+		$this->load->view('artist_details', $data);
+		$this->load->view('layout/footer');
+	}
+	
 }
 
 
diff --git a/application/models/Model_music.php b/application/models/Model_music.php
index b7fc131..b79b646 100644
--- a/application/models/Model_music.php
+++ b/application/models/Model_music.php
@@ -123,27 +123,37 @@ class Model_music extends CI_Model {
     
         return array('album' => $albumDetails, 'songs' => $songs);
     }
+    
     public function getArtistDetails($artistId) {
         // Get artist info
         $this->db->select('artist.name as artistName, artist.id, genre.name as genreName, artist.jpeg');
         $this->db->from('artist');
-        $this->db->join('album', 'album.artistid = artist.id', 'left');
-        $this->db->join('genre', 'album.genreid = genre.id', 'left');
         $this->db->where('artist.id', $artistId);
         $artistQuery = $this->db->get();
         $artistDetails = $artistQuery->row();
     
-        // Get artist's albums
+        // Get artist's albums with their songs
         $this->db->select('album.id as albumId, album.name as albumName, album.year');
         $this->db->from('album');
         $this->db->where('album.artistid', $artistId);
         $albumsQuery = $this->db->get();
         $albums = $albumsQuery->result();
     
+        // Get songs for each album
+        foreach ($albums as $album) {
+            $this->db->select('track.id as trackId, song.name as songName');
+            $this->db->from('track');
+            $this->db->join('song', 'track.songid = song.id');
+            $this->db->where('track.albumid', $album->albumId);
+            $album->songs = $this->db->get()->result();
+        }
+    
         return array('artist' => $artistDetails, 'albums' => $albums);
     }
     
     
+    
+    
     public function getSongDetails($songId) {
         // Get song details
         $this->db->select('song.name as songName, track.id as trackId, album.name as albumName, album.year, artist.name as artistName, genre.name as genreName, cover.jpeg');
diff --git a/application/views/artists_list.php b/application/views/artists_list.php
index d4c3080..3992919 100644
--- a/application/views/artists_list.php
+++ b/application/views/artists_list.php
@@ -4,7 +4,7 @@
 foreach($artists as $artist){
         echo "<div><article>";
         echo "<header class='short-text'>";
-        echo anchor("artist/view/{$artist->artistId}","{$artist->artistName}");
+        echo anchor("artistes/view/{$artist->artistId}","{$artist->artistName}");
         echo "</header></article></div>";
 }
 ?>