From 17a95f32cea22aa5a0cd7d6ccc0b1d074546f5ba Mon Sep 17 00:00:00 2001 From: charmett <charmett@localhost> Date: Mon, 10 Jun 2024 14:08:26 +0200 Subject: [PATCH] vraiment beau boulot --- .../application/controllers/Artistes.php | 21 +++++++++++++ .../application/models/Model_music.php | 13 ++++++++ .../application/views/artistes_list.php | 30 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 codeigniter/application/controllers/Artistes.php create mode 100644 codeigniter/application/views/artistes_list.php diff --git a/codeigniter/application/controllers/Artistes.php b/codeigniter/application/controllers/Artistes.php new file mode 100644 index 0000000..a8dbc69 --- /dev/null +++ b/codeigniter/application/controllers/Artistes.php @@ -0,0 +1,21 @@ +<?php +defined('BASEPATH') OR exit('No direct script access allowed'); + +class Artistes extends CI_Controller { + + public function __construct(){ + parent::__construct(); + $this->load->model('model_music'); + $this->load->helper('html'); + $this->load->helper('url'); + $this->load->helper('form'); + } + public function index(){ + $artistes = $this->model_music->getArtistes(); + $this->load->view('layout/header'); + $this->load->view('artistes_list', ['artistes'=>$artistes]); + $this->load->view('layout/footer'); + } + +} + diff --git a/codeigniter/application/models/Model_music.php b/codeigniter/application/models/Model_music.php index ddcbb79..621da0f 100644 --- a/codeigniter/application/models/Model_music.php +++ b/codeigniter/application/models/Model_music.php @@ -17,4 +17,17 @@ class Model_music extends CI_Model { ); return $query->result(); } + + public function getArtistes(){ + $query = $this->db->query( + "SELECT artist.id AS artistId, artist.name AS artistName, album.name AS albumName, album.year, cover.jpeg + FROM album + INNER JOIN artist ON album.artistId = artist.id + JOIN cover ON cover.id = album.coverId + GROUP BY artist.name, album.year + " + ); + + return $query->result(); + } } diff --git a/codeigniter/application/views/artistes_list.php b/codeigniter/application/views/artistes_list.php new file mode 100644 index 0000000..68716d7 --- /dev/null +++ b/codeigniter/application/views/artistes_list.php @@ -0,0 +1,30 @@ +<h5>Artistes list</h5> +<section class="list"> +<?php +$artistAlbums = array(); + +foreach ($artistes as $artist) { + + if (!array_key_exists($artist->artistName, $artistAlbums)) { + $artistAlbums[$artist->artistName] = array(); + } + $artistAlbums[$artist->artistName][] = array( + 'albumName' => $artist->albumName, + 'year' => $artist->year + ); +} + +foreach ($artistAlbums as $artistName => $albums) { + echo "<div><article>"; + echo "<header class='short-text'>"; + echo "<h2>$artistName</h2>"; + echo "</header>"; + echo "<ul>"; + foreach ($albums as $album) { + echo "<li>" . $album['albumName'] . " - " . $album['year'] . "</li>"; + } + echo "</ul>"; + echo "</article></div>"; +} +?> +</section>