55 lines
1.8 KiB
PHP
55 lines
1.8 KiB
PHP
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class Model_music_artistes extends CI_Model {
|
|
|
|
public function __construct(){
|
|
$this->load->database();
|
|
}
|
|
|
|
public function getArtistes(){
|
|
$query = $this->db->query(
|
|
"SELECT artist.id AS artistId, artist.name AS artistName, album.name AS albumName, album.id AS albumId, album.year, cover.jpeg
|
|
FROM album
|
|
INNER JOIN artist ON album.artistId = artist.id
|
|
JOIN cover ON cover.id = album.coverId
|
|
GROUP BY artist.name, album.year"
|
|
);
|
|
return $query->result();
|
|
}
|
|
|
|
public function get_tri_Artistes($Ctri){
|
|
$orderBy = '';
|
|
if ($Ctri == 'year ASC') {
|
|
$orderBy = 'ORDER BY year ASC';
|
|
} elseif ($Ctri == 'year DESC') {
|
|
$orderBy = 'ORDER BY year DESC';
|
|
} elseif ($Ctri == 'ASC' || $Ctri == 'DESC') {
|
|
$orderBy = "ORDER BY artist.name $Ctri";
|
|
}
|
|
|
|
$query = $this->db->query(
|
|
"SELECT artist.id AS artistId, artist.name AS artistName, album.name AS albumName, album.id AS albumId, album.year, cover.jpeg
|
|
FROM album
|
|
INNER JOIN artist ON album.artistId = artist.id
|
|
JOIN cover ON cover.id = album.coverId
|
|
$orderBy"
|
|
);
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
public function searchArtistes($query){
|
|
// Requête SQL principale pour la recherche d'artistes par nom
|
|
$sql = "SELECT artist.id AS artistId, artist.name AS artistName, album.name AS albumName, album.id AS albumId, album.year, cover.jpeg
|
|
FROM album
|
|
JOIN artist ON album.artistId = artist.id
|
|
JOIN cover ON cover.id = album.coverId
|
|
WHERE artist.name LIKE ?
|
|
GROUP BY artist.name, album.year
|
|
ORDER BY artist.name ASC";
|
|
|
|
$query = $this->db->query($sql, ["%{$query}%"]);
|
|
return $query->result();
|
|
}
|
|
}
|