From b73c4e4526ab0c8ad0f4a70d452bc0e0776e5f39 Mon Sep 17 00:00:00 2001
From: keraudre <yann.keraudren@etu-upec.fr>
Date: Sun, 16 Jun 2024 02:41:12 +0200
Subject: [PATCH] ajout du bouton de tri sur certaine page

---
 .../application/controllers/Albums.php        | 13 +++-
 .../application/models/Model_music.php        | 13 ++++
 codeigniter/application/views/albums_list.php |  9 +++
 .../application/views/layout/header.php       | 20 +++---
 codeigniter/assets/style.css                  | 62 ++++++++++++-------
 5 files changed, 84 insertions(+), 33 deletions(-)

diff --git a/codeigniter/application/controllers/Albums.php b/codeigniter/application/controllers/Albums.php
index 6c22014..c903826 100644
--- a/codeigniter/application/controllers/Albums.php
+++ b/codeigniter/application/controllers/Albums.php
@@ -3,7 +3,8 @@ defined('BASEPATH') OR exit('No direct script access allowed');
 
 class Albums extends CI_Controller {
 
-    private $filter = 'default';
+    private $sort = 'Tri';
+
 
 	public function __construct(){
 		parent::__construct();
@@ -17,7 +18,7 @@ class Albums extends CI_Controller {
 
 		$albums = $this->model_music->getAlbums();
 		$this->load->view('layout/header');
-		$this->load->view('albums_list',['albums'=>$albums]);
+		$this->load->view('albums_list',['albums'=>$albums,'sort'=>$this->sort]);
 		$this->load->view('layout/footer');
 	}
 
@@ -27,5 +28,13 @@ class Albums extends CI_Controller {
         $this->load->view('album_info', ['tracks' => $tracks]);
         $this->load->view('layout/footer');
     }
+
+    public function tri(){
+        $Ctri = $this->input->get('Ctri');
+        $trie = $this->model_music->get_tri_Albums($Ctri);
+        $this->load->view('layout/header');
+		$this->load->view('albums_list',['albums'=>$trie, 'sort'=>$this->sort]);
+		$this->load->view('layout/footer');
+    }
 }
 
diff --git a/codeigniter/application/models/Model_music.php b/codeigniter/application/models/Model_music.php
index 0f19f4a..6f3ed79 100644
--- a/codeigniter/application/models/Model_music.php
+++ b/codeigniter/application/models/Model_music.php
@@ -44,4 +44,17 @@ class Model_music extends CI_Model {
         );
         return $query->result();
     }
+
+    public function get_tri_Albums($Ctri){
+        	$query = $this->db->query(
+			"SELECT album.name,album.id,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
+			ORDER BY album.name $Ctri
+			"
+		);
+	return $query->result();
+	}
 }
diff --git a/codeigniter/application/views/albums_list.php b/codeigniter/application/views/albums_list.php
index 31ba141..cddd955 100644
--- a/codeigniter/application/views/albums_list.php
+++ b/codeigniter/application/views/albums_list.php
@@ -1,4 +1,13 @@
+
 <h5>Albums list</h5>
+    <ul class="tri"><h6 id ="tri"> <?php echo "$sort" ?> </h6>
+    <li class="sous_tri">
+     <ul><?=anchor('Albums/tri/?Ctri=ASC', 'Tri A-Z');?></ul>
+        <ul><?=anchor('Albums/tri/?Ctri=DESC', 'Tri Z-A');?></ul>
+    </li>
+    </ul>
+        
+        
 <section class="list">
 <?php
      
diff --git a/codeigniter/application/views/layout/header.php b/codeigniter/application/views/layout/header.php
index adca933..dda6178 100644
--- a/codeigniter/application/views/layout/header.php
+++ b/codeigniter/application/views/layout/header.php
@@ -17,22 +17,22 @@
 	<ul>
 	  <li><strong>Music APP</strong></li>
 	</ul>
-	<div class="options">
-     <ul>
-     <li class="bouton"><?=anchor('albums','Albums');?></li>
-          <li class="bouton"><?=anchor('artistes','Artistes');?></li>
-              <li class="bouton"><?=anchor('playlist','Playlist');?></li>
+	
+     <ul class="option">
+     <li><?=anchor('albums','Albums');?></li>
+          <li><?=anchor('artistes','Artistes');?></li>
+              <li><?=anchor('playlist','Playlist');?></li>
 <?php if ($this->session->userdata('pseudo')) : /* Vérifier si l'utilisateur est connecté */ ?>
               
                   <li class="deroulant"><a><?= $this->session->userdata('pseudo'); ?></a>
-                  <ul class="sous">
-     
-     <li><a><?= anchor('profil', 'Profil'); ?></a></li>
-         <li><a><?= anchor('deconnexion', 'Se déconnecter'); ?></a></li>
+                      <ul class="sous">
+
+     <li><?= anchor('profil', 'Profil'); ?></li>
+         <li><?=anchor('deconnexion', 'Se déconnecter'); ?></li>
          </ul>
          </li>
 <?php else : ?>
-         <li><?= anchor('connexion', 'Se connecter'); ?></li>
+         <li><?=anchor('connexion', 'Se connecter'); ?></li>
 <?php endif; ?>
                 </ul>
       </div>
diff --git a/codeigniter/assets/style.css b/codeigniter/assets/style.css
index 6662fb6..95ae073 100644
--- a/codeigniter/assets/style.css
+++ b/codeigniter/assets/style.css
@@ -37,47 +37,39 @@ main.container {
 
 .options {
     margin-right : 20px!important;
-    width: 400px;
-    height: 73.5px;
     
 }
 
-.bouton {
-    width: 25%;
-    text-align: center;
-    height: 73.5px;
-}
-
 .sous {
     display: none;
     border-radius: 5px;
     border: solid 1px black;
     background-color: #283d5d;
     position: absolute;
-    top :60px;
-    right: 13px;
+    top: 50px;
+    right: 12px;
+    text-align: center
 }
 
-
-.sous li{
-    float: none;
-    text-align: right;
-    width: 100%;
+.sous li {
+    display: block!important;
+    padding: 5px;
 }
 
-nav > ul li:hover .sous{
-    display: block ;
+nav > ul li:hover .sous {
+    display: block;
 }
 
 .deroulant a {
     text-decoration: none;
-    color:white;
+    color: white;
+    display: inline-block;
 }
 
 .deroulant > a::after {
-    content:"  ▼";
-    font-size: 15px;
-    
+    content: " ▼ ";
+    font-size: 17px;
+
 }
 
 .sous a:hover{
@@ -124,3 +116,31 @@ div.new {
     flex-shrink: 0;
     margin-left: 20px;
 }
+
+#tri {
+    text-align: right;
+}
+/* mise en forme du tri */
+
+
+/*.sous_tri {
+    display: none;
+    position: absolute;
+    text-align: right;
+    background-color: black;
+}
+
+.tri  {
+    color: #a4acba;
+    text-align: right;
+    display: inline-block;
+}
+
+.tri:hover sous_tri {
+    display: block;
+}
+
+
+.sous_tri a:hover{
+    color: #1399fc;
+}*/