Commit de Louay (problème de PC)

This commit is contained in:
stiti 2024-05-22 20:03:53 +02:00
parent 4e02203e84
commit 6fa5b60331
7 changed files with 164 additions and 26 deletions

View File

@ -10,7 +10,7 @@ class Albums extends CI_Controller {
}
public function index($page = 1){
$limit = 21;
$limit = 21; // Nombre d'albums max par page
$offset = ($page - 1) * $limit;
$albums = $this->model_music->getAlbums($limit, $offset);

View File

@ -6,7 +6,7 @@ class Artiste extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->model('Model_artist');
$this->load->model('Model_music'); // Chargez également le modèle Model_music si vous en avez besoin
$this->load->model('Model_music');
$this->load->helper('url');
}
@ -16,7 +16,7 @@ class Artiste extends CI_Controller {
if($artiste){
// Récupérer tous les albums de l'artiste
$albums = $this->Model_music->getAlbumsByArtiste($artiste_id); // Utilisez le modèle Model_music ici
$albums = $this->Model_music->getAlbumsByArtiste($artiste_id);
// Charger la vue avec les détails de l'artiste et ses albums
$data['artiste'] = $artiste;
@ -25,17 +25,21 @@ class Artiste extends CI_Controller {
$this->load->view('artiste_details', $data);
$this->load->view('layout/footer_dark');
} else {
// Gérer le cas où l'artiste n'est pas trouvé
// Gérer le cas où l'artiste n'est pas trouvé == afficher un error 404
show_404();
}
}
public function list_artists(){
// Récupérer le paramètre de tri (croissant ou decroissant)
$order = $this->input->get('order') ? $this->input->get('order') : 'ASC';
// Récupérer la liste des artistes
$artists = $this->Model_artist->getArtists();
$artists = $this->Model_artist->getArtists($order);
// Charger la vue avec la liste des artistes
$data['artists'] = $artists;
$data['current_order'] = $order;
$this->load->view('layout/header_not_logged_dark');
$this->load->view('artists_list', $data);
$this->load->view('layout/footer_dark');

View File

@ -11,5 +11,9 @@ class Model_artist extends CI_Model {
return $query->row();
}
public function getArtists($order = 'ASC'){
$query = $this->db->query("SELECT * FROM artist ORDER BY name " . $order);
return $query->result();
}
}
?>

View File

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="<?php echo base_url('assets/css/artists_list'); ?>">
<title>Liste des Artistes - Onzeur</title>
</head>
<body>
<div class="artist-list-container">
<h1>Liste des Artistes</h1>
<div class="sort-options">
<a href="<?php echo site_url('artiste/list_artists?order=ASC'); ?>">Trier par ordre alphabétique</a> |
<a href="<?php echo site_url('artiste/list_artists?order=DESC'); ?>">Trier par ordre inverse</a>
</div>
<ul class="artist-list">
<?php foreach($artists as $artist): ?>
<li>
<div class="artist-details">
<h2><?php echo $artist->name; ?></h2>
<p><a href="<?php echo site_url('artiste/'.$artist->id); ?>">Voir les détails</a></p>
</div>
</li>
<?php endforeach; ?>
</ul>
</div>
</body>
</html>

View File

@ -17,7 +17,7 @@
<nav class="nav">
<div class="nav-buttons">
<a href="<?php echo site_url('albums'); ?>" class="btn-albums">Albums</a>
<a href="<?php echo site_url('artiste'); ?>" class="btn-artistes">Artistes</a>
<a href="<?php echo site_url('artiste/list_artists'); ?>" class="btn-artistes">Artistes</a>
<a href="<?php echo site_url('musiques'); ?>" class="btn-musiques">Musiques</a>
<a href="#CONNEXIONBIENTOT" class="btn-connexion">Connexion</a>
<a href="#INSCRIPTIONBIENTOT" class="btn-inscription">Inscription</a>

View File

@ -5,7 +5,7 @@ body {
padding: 0;
}
.album-details {
.artist-list-container {
max-width: 800px;
margin: 20px auto;
padding: 20px;
@ -14,33 +14,57 @@ body {
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.album-details h1 {
.artist-list-container h1 {
font-size: 2em;
margin-bottom: 10px;
text-align: center;
color: #800080; /* Couleur violette */
}
.album-details p {
font-size: 1.2em;
margin: 5px 0;
}
.album-details img {
max-width: 100%;
height: auto;
margin: 20px 0;
}
.album-details h2 {
font-size: 1.5em;
margin-top: 20px;
}
.album-details ul {
.artist-list {
list-style-type: none;
padding: 0;
}
.album-details ul li {
.artist-list li {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #ddd;
}
.artist-list li:last-child {
border-bottom: none;
}
.artist-list img {
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 15px;
}
.artist-list .artist-details {
display: flex;
flex-direction: column;
}
.artist-list .artist-details h2 {
font-size: 1.2em;
margin: 0;
}
.artist-list .artist-details p {
font-size: 1em;
margin: 5px 0;
color: #666;
}
.artist-list .artist-details a {
text-decoration: none;
color: #9500ff;
}
.artist-list .artist-details a:hover {
text-decoration: underline;
}

View File

@ -0,0 +1,78 @@
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
margin: 0;
padding: 0;
}
.artist-list-container {
max-width: 800px;
margin: 20px auto;
padding: 20px;
background-color: #ffffff;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.artist-list-container h1 {
font-size: 2em;
margin-bottom: 10px;
text-align: center;
color: #800080; /* Couleur violette */
}
.sort-options {
text-align: center;
margin-bottom: 20px;
}
.sort-options a {
text-decoration: none;
color: #8c00ff;
margin: 0 10px;
}
.sort-options a:hover {
text-decoration: underline;
}
.artist-list {
list-style-type: none;
padding: 0;
}
.artist-list li {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #ddd;
}
.artist-list li:last-child {
border-bottom: none;
}
.artist-list .artist-details {
display: flex;
flex-direction: column;
}
.artist-list .artist-details h2 {
font-size: 1.2em;
margin: 0;
}
.artist-list .artist-details p {
font-size: 1em;
margin: 5px 0;
color: #666;
}
.artist-list .artist-details a {
text-decoration: none;
color: #8c00ff;
}
.artist-list .artist-details a:hover {
text-decoration: underline;
}