diff --git a/CodeIgniter-3.1.13/application/controllers/Chansons.php b/CodeIgniter-3.1.13/application/controllers/Chansons.php index e358c59..e5ce341 100644 --- a/CodeIgniter-3.1.13/application/controllers/Chansons.php +++ b/CodeIgniter-3.1.13/application/controllers/Chansons.php @@ -52,7 +52,33 @@ class Chansons extends CI_Controller { }else{ $playlistId = $this->input->post('playlist_id'); $this->model_music->AddSongtoPlaylist($playlistId,$id); + redirect('chansons'); } } + + public function deleteSongtoPlaylist($id){ + $playlists = $this->model_music->getPlaylistIdSong($id); + + $this->form_validation->set_rules('playlist_id', 'playlist_id', 'required'); + + if ($this->form_validation->run() == FALSE){ + $this->load->view('layout/header'); + $this->load->view('deleteSongtoplaylist', ["playlists" => $playlists]); + $this->load->view('layout/footer'); + }else{ + $playlistId = $this->input->post('playlist_id'); + $this->model_music->DeleteSongtoPlaylist($playlistId,$id); + redirect('chansons'); + } + } + + public function view($id){ + $chansons = $this->model_music->get_song_playlist($id); + $data['chansons'] = $chansons; + + $this->load->view('layout/header'); + $this->load->view('chansons_list',$data); + $this->load->view('layout/footer'); + } } diff --git a/CodeIgniter-3.1.13/application/models/Model_music.php b/CodeIgniter-3.1.13/application/models/Model_music.php index 435893d..dbed74a 100644 --- a/CodeIgniter-3.1.13/application/models/Model_music.php +++ b/CodeIgniter-3.1.13/application/models/Model_music.php @@ -237,7 +237,7 @@ class Model_music extends CI_Model { $album->tracks = []; foreach ($songIds as $song) { - $this->db->select('song.name as songName, track.duration'); + $this->db->select('song.name as songName, track.duration, track.Id as trackId'); $this->db->from('track'); $this->db->join('song', 'track.songId = song.id'); $this->db->where('track.songId', $song->songId); @@ -313,6 +313,18 @@ class Model_music extends CI_Model { return $query = false; } + public function getPlaylistIdSong($id){ + $query = $this->db->query( + "SELECT Playlist.name, Playlist.playlistid + FROM Playlist + JOIN PlaylistSong ON Playlist.playlistid = PlaylistSong.playlistid + WHERE PlaylistSong.trackId = $id + ORDER BY Playlist.name + " + ); + return $query->result(); + } + public function addPlayliste($playlist){ $this->db->insert("Playlist",$playlist); return $this->db->insert_id(); @@ -324,4 +336,40 @@ class Model_music extends CI_Model { "trackId"=> $trackId); $this->db->insert("PlaylistSong",$tupple); } + + public function DeleteSongtoPlaylist($idplaylist, $trackId){ + $tupple = array( + "playlistId"=> $idplaylist, + "trackId"=> $trackId); + $this->db->delete("PlaylistSong",$tupple); + } + + public function get_song_playlist($id){ + $this->db->select('track.id as trackId, song.name,song.id,album.year,album.name as albumName, artist.name as artistName, genre.name as genreName'); + $this->db->from('Playlist'); + $this->db->join('PlaylistSong', 'PlaylistSong.playlistid = Playlist.playlistid'); + $this->db->join('track', 'PlaylistSong.trackid = track.id'); + $this->db->join('song', 'track.songId = song.id'); + $this->db->join('album', 'album.id = track.albumId'); + $this->db->join('artist', 'album.artistId = artist.Id'); + $this->db->join('genre', 'genre.id = album.genreid'); + $query = $this->db->get(); + return $query->result(); + } + + public function SongInPlaylist($id){ + $query = $this->db->query( + "SELECT PlaylistSong.trackId, Playlist.playlistId + FROM Playlist + JOIN PlaylistSong ON Playlist.playlistid = PlaylistSong.playlistid + WHERE PlaylistSong.trackid = $id + ORDER BY Playlist.name + " + ); + $query->result(); + if ($query->num_rows() > 0){ + return $query = true; + } + return $query = false; + } } diff --git a/CodeIgniter-3.1.13/application/views/addSongtoplaylist.php b/CodeIgniter-3.1.13/application/views/addSongtoplaylist.php index e4093ca..7c6eddb 100644 --- a/CodeIgniter-3.1.13/application/views/addSongtoplaylist.php +++ b/CodeIgniter-3.1.13/application/views/addSongtoplaylist.php @@ -11,7 +11,7 @@