Commit de Louay : Correction de bugs
This commit is contained in:
@@ -5,27 +5,74 @@ class Model_music extends CI_Model {
|
||||
$this->load->database();
|
||||
}
|
||||
|
||||
public function getAlbums($limit, $offset){
|
||||
$query = $this->db->query(
|
||||
"SELECT album.id, album.name, album.year, artist.name as artistName, genre.name as genreName, cover.jpeg
|
||||
FROM album
|
||||
JOIN artist ON album.artistid = artist.id
|
||||
JOIN genre ON album.genreid = genre.id
|
||||
JOIN cover ON album.coverid = cover.id
|
||||
ORDER BY album.year
|
||||
LIMIT $limit OFFSET $offset"
|
||||
);
|
||||
public function getAlbums($limit, $offset, $order_by = 'year', $genre_id = null, $artist_id = null){
|
||||
$sql = "SELECT album.id, album.name, album.year, artist.name as artistName, genre.name as genreName, cover.jpeg
|
||||
FROM album
|
||||
JOIN artist ON album.artistid = artist.id
|
||||
JOIN genre ON album.genreid = genre.id
|
||||
JOIN cover ON album.coverid = cover.id";
|
||||
|
||||
if ($genre_id) {
|
||||
$sql .= " WHERE genre.id = ?";
|
||||
$params[] = $genre_id;
|
||||
}
|
||||
|
||||
if ($artist_id) {
|
||||
if ($genre_id) {
|
||||
$sql .= " AND artist.id = ?";
|
||||
} else {
|
||||
$sql .= " WHERE artist.id = ?";
|
||||
}
|
||||
$params[] = $artist_id;
|
||||
}
|
||||
|
||||
$sql .= " ORDER BY album." . $order_by . " LIMIT ? OFFSET ?";
|
||||
$params[] = $limit;
|
||||
$params[] = $offset;
|
||||
|
||||
$query = $this->db->query($sql, $params);
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
public function get_total_albums(){
|
||||
$query = $this->db->query("SELECT COUNT(*) as total_albums FROM album");
|
||||
public function get_total_albums($genre_id = null, $artist_id = null){
|
||||
$sql = "SELECT COUNT(*) as total_albums FROM album
|
||||
JOIN genre ON album.genreid = genre.id
|
||||
JOIN artist ON album.artistid = artist.id";
|
||||
|
||||
$params = array(); // Initialiser le tableau de paramètres
|
||||
|
||||
if ($genre_id) {
|
||||
$sql .= " WHERE genre.id = ?";
|
||||
$params[] = $genre_id;
|
||||
}
|
||||
|
||||
if ($artist_id) {
|
||||
if ($genre_id) {
|
||||
$sql .= " AND artist.id = ?";
|
||||
} else {
|
||||
$sql .= " WHERE artist.id = ?";
|
||||
}
|
||||
$params[] = $artist_id;
|
||||
}
|
||||
|
||||
$query = $this->db->query($sql, $params);
|
||||
$result = $query->row();
|
||||
return $result->total_albums;
|
||||
}
|
||||
|
||||
|
||||
// Méthodes pour obtenir les genres et les artistes pour les filtres
|
||||
public function getGenres(){
|
||||
$query = $this->db->query("SELECT id, name FROM genre ORDER BY name");
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
public function getArtists(){
|
||||
$query = $this->db->query("SELECT id, name FROM artist ORDER BY name");
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
public function get_album_by_id($id){
|
||||
// Fetch album details
|
||||
$query = $this->db->query(
|
||||
"SELECT album.id, album.name, album.year, artist.name as artistName, genre.name as genreName, cover.jpeg
|
||||
FROM album
|
||||
@@ -35,9 +82,8 @@ class Model_music extends CI_Model {
|
||||
WHERE album.id = ?", array($id)
|
||||
);
|
||||
$album = $query->row();
|
||||
|
||||
|
||||
if ($album) {
|
||||
// Fetch album tracks
|
||||
$query = $this->db->query(
|
||||
"SELECT track.id, track.diskNumber, track.number, track.duration, song.name as songName
|
||||
FROM track
|
||||
@@ -47,10 +93,10 @@ class Model_music extends CI_Model {
|
||||
);
|
||||
$album->tracks = $query->result();
|
||||
}
|
||||
|
||||
|
||||
return $album;
|
||||
}
|
||||
|
||||
|
||||
public function getMusiques($limit, $offset) {
|
||||
$query = $this->db->query(
|
||||
"SELECT song.id, song.name, artist.id as artist_id, artist.name as artistName, album.name as album_name, track.albumid as album_id, cover.jpeg as cover
|
||||
@@ -63,14 +109,14 @@ class Model_music extends CI_Model {
|
||||
);
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function get_total_musiques(){
|
||||
$query = $this->db->query("SELECT COUNT(*) as total_musiques FROM song");
|
||||
$result = $query->row();
|
||||
return $result->total_musiques;
|
||||
}
|
||||
|
||||
|
||||
public function getAlbumsByArtiste($artiste_id){
|
||||
$query = $this->db->query("
|
||||
SELECT album.id, album.name, album.year, artist.name as artistName, genre.name as genreName, cover.jpeg
|
||||
@@ -82,8 +128,5 @@ class Model_music extends CI_Model {
|
||||
", array($artiste_id));
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
Reference in New Issue
Block a user