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; +}*/