ajout du bouton de tri sur certaine page

This commit is contained in:
Yann KERAUDREN 2024-06-16 02:41:12 +02:00
parent 229a254274
commit b73c4e4526
5 changed files with 84 additions and 33 deletions
codeigniter
application
assets

@ -3,7 +3,8 @@ defined('BASEPATH') OR exit('No direct script access allowed');
class Albums extends CI_Controller { class Albums extends CI_Controller {
private $filter = 'default'; private $sort = 'Tri';
public function __construct(){ public function __construct(){
parent::__construct(); parent::__construct();
@ -17,7 +18,7 @@ class Albums extends CI_Controller {
$albums = $this->model_music->getAlbums(); $albums = $this->model_music->getAlbums();
$this->load->view('layout/header'); $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'); $this->load->view('layout/footer');
} }
@ -27,5 +28,13 @@ class Albums extends CI_Controller {
$this->load->view('album_info', ['tracks' => $tracks]); $this->load->view('album_info', ['tracks' => $tracks]);
$this->load->view('layout/footer'); $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');
}
} }

@ -44,4 +44,17 @@ class Model_music extends CI_Model {
); );
return $query->result(); 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();
}
} }

@ -1,4 +1,13 @@
<h5>Albums list</h5> <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"> <section class="list">
<?php <?php

@ -17,22 +17,22 @@
<ul> <ul>
<li><strong>Music APP</strong></li> <li><strong>Music APP</strong></li>
</ul> </ul>
<div class="options">
<ul> <ul class="option">
<li class="bouton"><?=anchor('albums','Albums');?></li> <li><?=anchor('albums','Albums');?></li>
<li class="bouton"><?=anchor('artistes','Artistes');?></li> <li><?=anchor('artistes','Artistes');?></li>
<li class="bouton"><?=anchor('playlist','Playlist');?></li> <li><?=anchor('playlist','Playlist');?></li>
<?php if ($this->session->userdata('pseudo')) : /* Vérifier si l'utilisateur est connecté */ ?> <?php if ($this->session->userdata('pseudo')) : /* Vérifier si l'utilisateur est connecté */ ?>
<li class="deroulant"><a><?= $this->session->userdata('pseudo'); ?></a> <li class="deroulant"><a><?= $this->session->userdata('pseudo'); ?></a>
<ul class="sous"> <ul class="sous">
<li><a><?= anchor('profil', 'Profil'); ?></a></li> <li><?= anchor('profil', 'Profil'); ?></li>
<li><a><?= anchor('deconnexion', 'Se déconnecter'); ?></a></li> <li><?=anchor('deconnexion', 'Se déconnecter'); ?></li>
</ul> </ul>
</li> </li>
<?php else : ?> <?php else : ?>
<li><?= anchor('connexion', 'Se connecter'); ?></li> <li><?=anchor('connexion', 'Se connecter'); ?></li>
<?php endif; ?> <?php endif; ?>
</ul> </ul>
</div> </div>

@ -37,47 +37,39 @@ main.container {
.options { .options {
margin-right : 20px!important; margin-right : 20px!important;
width: 400px;
height: 73.5px;
} }
.bouton {
width: 25%;
text-align: center;
height: 73.5px;
}
.sous { .sous {
display: none; display: none;
border-radius: 5px; border-radius: 5px;
border: solid 1px black; border: solid 1px black;
background-color: #283d5d; background-color: #283d5d;
position: absolute; position: absolute;
top :60px; top: 50px;
right: 13px; right: 12px;
text-align: center
} }
.sous li {
.sous li{ display: block!important;
float: none; padding: 5px;
text-align: right;
width: 100%;
} }
nav > ul li:hover .sous{ nav > ul li:hover .sous {
display: block ; display: block;
} }
.deroulant a { .deroulant a {
text-decoration: none; text-decoration: none;
color:white; color: white;
display: inline-block;
} }
.deroulant > a::after { .deroulant > a::after {
content:" ▼"; content: " ";
font-size: 15px; font-size: 17px;
} }
.sous a:hover{ .sous a:hover{
@ -124,3 +116,31 @@ div.new {
flex-shrink: 0; flex-shrink: 0;
margin-left: 20px; 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;
}*/