2024-05-20 18:18:00 +02:00
< ? php if ( ! defined ( 'BASEPATH' )) exit ( 'No direct script access allowed' );
2024-05-19 15:27:13 +02:00
class Model_music extends CI_Model {
2024-05-20 18:18:00 +02:00
public function __construct (){
$this -> load -> database ();
}
2024-05-19 15:27:13 +02:00
2024-05-20 18:18:00 +02:00
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 "
2024-05-19 15:27:13 +02:00
);
2024-05-20 18:18:00 +02:00
return $query -> result ();
}
2024-05-19 15:27:13 +02:00
public function get_total_albums (){
$query = $this -> db -> query ( " SELECT COUNT(*) as total_albums FROM album " );
$result = $query -> row ();
return $result -> total_albums ;
}
2024-05-20 18:18:00 +02:00
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
JOIN artist ON album . artistid = artist . id
JOIN genre ON album . genreid = genre . id
JOIN cover ON album . coverid = cover . id
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
JOIN song ON track . songid = song . id
WHERE track . albumid = ?
ORDER BY track . diskNumber , track . number " , array( $id )
);
$album -> tracks = $query -> result ();
}
return $album ;
}
2024-05-20 21:59:37 +02:00
public function getMusiques ( $limit , $offset ) {
$query = $this -> db -> query (
2024-05-20 22:42:38 +02:00
" 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
2024-05-20 21:59:37 +02:00
FROM song
JOIN track ON song . id = track . songid
JOIN album ON track . albumid = album . id
JOIN artist ON album . artistid = artist . id
JOIN cover ON album . coverid = cover . id
LIMIT $limit OFFSET $offset "
);
return $query -> result ();
}
2024-05-20 22:42:38 +02:00
2024-05-20 21:59:37 +02:00
public function get_total_musiques (){
$query = $this -> db -> query ( " SELECT COUNT(*) as total_musiques FROM song " );
$result = $query -> row ();
return $result -> total_musiques ;
}
2024-05-20 22:42:38 +02:00
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
FROM album
JOIN artist ON album . artistid = artist . id
JOIN genre ON album . genreid = genre . id
JOIN cover ON album . coverid = cover . id
WHERE artist . id = ?
" , array( $artiste_id ));
return $query -> result ();
}
2024-05-19 15:27:13 +02:00
}
2024-05-20 18:18:00 +02:00
?>