avoir les musique dans album et avoir les album dans artiste

This commit is contained in:
2024-06-05 10:32:50 +02:00
parent c4192cd3fb
commit bdec7abeea
5 changed files with 162 additions and 10 deletions

View File

@@ -7,7 +7,7 @@ class Model_music extends CI_Model {
public function getAlbums(){
$query = $this->db->query(
"SELECT album.name,album.id,year,artist.name as artistName, genre.name as genreName,jpeg
"SELECT album.name,album.id as albumId,year,artist.name as artistName, genre.name as genreName,jpeg
FROM album
JOIN artist ON album.artistid = artist.id
JOIN genre ON genre.id = album.genreid
@@ -44,7 +44,7 @@ class Model_music extends CI_Model {
public function getSearchAlbums($nom){
$query = $this->db->query(
"SELECT album.name,album.id,year,artist.name as artistName, genre.name as genreName,jpeg
"SELECT album.name,album.id as albumId,year,artist.name as artistName, genre.name as genreName,jpeg
FROM album
JOIN artist ON album.artistid = artist.id
JOIN genre ON genre.id = album.genreid
@@ -52,9 +52,9 @@ class Model_music extends CI_Model {
WHERE album.name LIKE '$nom'
"
);
$query->result();
//$query->result();
if ($query->num_rows() > 0){
return $query;
return $query->result();
}
return $query = false;
}
@@ -68,7 +68,7 @@ class Model_music extends CI_Model {
);
$query->result();
if ($query->num_rows() > 0){
return $query;
return $query->result();
}
return $query = false;
}
@@ -87,8 +87,74 @@ class Model_music extends CI_Model {
);
$query->result();
if ($query->num_rows() > 0){
return $query;
return $query->result();
}
return $query = false;
}
public function getAlbumChoose($id) {
$this->db->where('id', $id);
$query = $this->db->get('album');
$album = $query->row();
// Recupere la couverture
$this->db->where('id', $album->coverId);
$coverQuery = $this->db->get('cover');
$cover = $coverQuery->row();
$album->coverImage = $cover->jpeg;
// Recupere le l'id de la musique a partie de l'album
$this->db->select('songId');
$this->db->where('albumId', $id);
$songsQuery = $this->db->get('track');
$songIds = $songsQuery->result();
// Récupérer les noms des chansons à partir des songIds
$album->songs = [];
foreach ($songIds as $song) {
$this->db->select('name');
$this->db->where('id', $song->songId);
$songQuery = $this->db->get('song');
$songData = $songQuery->row();
$album->songs[] = $songData->name;
}
$album->tracks = [];
foreach ($songIds as $song) {
$this->db->select('song.name as songName, track.duration');
$this->db->from('track');
$this->db->join('song', 'track.songId = song.id');
$this->db->where('track.songId', $song->songId);
$trackQuery = $this->db->get();
$trackData = $trackQuery->row();
$album->tracks[] = $trackData;
}
$this->db->where('id', $album->artistId);
$artistQuery = $this->db->get('artist');
$artist = $artistQuery->row();
$album->artist = $artist;
$this->db->where('id', $album->artistId);
$artistQuery = $this->db->get('artist');
$artist = $artistQuery->row();
$album->artist = $artist;
return $album;
}
public function getAlbumsByArtistId($artistId) {
$query = $this->db->query(
"SELECT album.name,album.id as albumId,year,artist.name as artistName, genre.name as genreName,jpeg
FROM album
JOIN artist ON album.artistid = artist.id
JOIN genre ON genre.id = album.genreid
JOIN cover ON cover.id = album.coverid
WHERE album.artistid=$artistId
ORDER BY year
"
);
return $query->result();
}
}