test filtre 2/?
This commit is contained in:
parent
ea2e857196
commit
4b5b72f2c0
application
@ -3,34 +3,34 @@ defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
class Albums extends CI_Controller {
|
||||
|
||||
public function __construct(){
|
||||
parent::__construct();
|
||||
$this->load->model('model_music');
|
||||
$this->load->library('session');
|
||||
}
|
||||
public function __construct(){
|
||||
parent::__construct();
|
||||
$this->load->model('model_music');
|
||||
$this->load->library('session');
|
||||
}
|
||||
|
||||
public function index(){
|
||||
$order = $this->input->get('order');
|
||||
$genre = $this->input->get('genre');
|
||||
$artist = $this->input->get('artist');
|
||||
$query = $this->input->get('query');
|
||||
|
||||
public function index(){
|
||||
$genre = $this->input->get('genre');
|
||||
$order = $this->input->get('order');
|
||||
$artist = $this->input->get('artist');
|
||||
$albums = $this->model_music->getAlbums($genre, $order, $artist);
|
||||
|
||||
$albums = $this->model_music->getAlbums($genre, $order, $artist);
|
||||
$genres = $this->model_music->researchtype();
|
||||
$artists = $this->model_music->nameArtist();
|
||||
$genres = $this->model_music->researchtype();
|
||||
$artists = $this->model_music->nameArtist();
|
||||
|
||||
$is_logged_in = $this->session->userdata('logged_in');
|
||||
$data = array(
|
||||
'albums' => $albums,
|
||||
'is_logged_in' => $is_logged_in,
|
||||
'genres' => $genres,
|
||||
'artistes' => $artists
|
||||
);
|
||||
$this->load->view('layout/header',$data);
|
||||
$this->load->view('layout/getter',$data);
|
||||
$this->load->view('albums_list', $data);
|
||||
$this->load->view('layout/footer');
|
||||
}
|
||||
$is_logged_in = $this->session->userdata('logged_in');
|
||||
$data = array(
|
||||
'albums' => $albums,
|
||||
'is_logged_in' => $is_logged_in,
|
||||
'genres' => $genres,
|
||||
'artistes' => $artists
|
||||
);
|
||||
|
||||
$this->load->view('layout/header', $data);
|
||||
$this->load->view('layout/getter', $data);
|
||||
$this->load->view('albums_list', $data);
|
||||
$this->load->view('layout/footer');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,32 +5,42 @@ class Model_music extends CI_Model {
|
||||
$this->load->database();
|
||||
}
|
||||
|
||||
public function getAlbums($genre = '', $order = '', $artist = '') {
|
||||
$this->db->select('album.name, album.id, year, artist.name as artistName, genre.name as genreName, jpeg');
|
||||
$this->db->from('album');
|
||||
$this->db->join('artist', 'album.artistid = artist.id');
|
||||
$this->db->join('genre', 'genre.id = album.genreid');
|
||||
$this->db->join('cover', 'cover.id = album.coverid');
|
||||
public function getAlbums($genre = '', $order = 'asc', $artist = '') {
|
||||
$this->db->select('album.name, album.id, year, artist.name as artistName, genre.name as genreName, jpeg');
|
||||
$this->db->from('album');
|
||||
$this->db->join('artist', 'album.artistid = artist.id');
|
||||
$this->db->join('genre', 'genre.id = album.genreid');
|
||||
$this->db->join('cover', 'cover.id = album.coverid');
|
||||
|
||||
if(!empty($genre)){
|
||||
$this->db->where('genre.name', $genre);
|
||||
}
|
||||
|
||||
if(!empty($genre)){
|
||||
$this->db->where('genre.name', $genre);
|
||||
}
|
||||
if(!empty($artist)){
|
||||
$this->db->where('artist.name', $artist);
|
||||
}
|
||||
|
||||
if(!empty($artist)){
|
||||
$this->db->where('artist.name', $artist);
|
||||
}
|
||||
if($order == 'asc' || $order == 'desc'){
|
||||
$this->db->order_by('album.name', $order);
|
||||
}
|
||||
|
||||
$query = $this->db->get();
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
|
||||
if($order == 'asc' || $order == 'desc'){
|
||||
$this->db->order_by('album.name',$order );
|
||||
}
|
||||
|
||||
|
||||
$query = $this->db->get();
|
||||
return $query->result();
|
||||
}
|
||||
public function researchtype(){
|
||||
$this->db->select('name');
|
||||
$this->db->from('genre');
|
||||
$query = $this->db->get();
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
public function nameArtist(){
|
||||
$this->db->select('name');
|
||||
$this->db->from('artist');
|
||||
$query = $this->db->get();
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
|
||||
public function getArtists($genre = '', $order = '') {
|
||||
|
@ -1,45 +1,50 @@
|
||||
<button onclick="toggleFilters()">Filtrer</button>
|
||||
<div>
|
||||
<!-- Champ de recherche -->
|
||||
<form method="GET" action="">
|
||||
<input type="text" name="query" placeholder="Rechercher..." value="<?= isset($_GET['query']) ? $_GET['query'] : '' ?>">
|
||||
<button type="submit">Rechercher</button>
|
||||
</form>
|
||||
|
||||
<!-- Bouton pour afficher/masquer les filtres -->
|
||||
<button type="button" onclick="toggleFilters()">Filtrer</button>
|
||||
|
||||
<!-- Div contenant les filtres, cachée par défaut -->
|
||||
<div id="filters" style="display: none;">
|
||||
<form method="GET" action="">
|
||||
<input type="text" name="query" placeholder="Rechercher..." value="<?= isset($_GET['query']) ? $_GET['query'] : '' ?>">
|
||||
</form>
|
||||
|
||||
<form method="GET" action="">
|
||||
<select name="artist" id="artist" onchange="submitForm()>
|
||||
<!-- Filtre par artiste -->
|
||||
<select name="artist" id="artist" onchange="this.form.submit()">
|
||||
<option value=''>Tous</option>
|
||||
<?php foreach($artistes as $artiste): ?>
|
||||
<option value="<?= $artiste->name ?>" <?= isset($_GET['artist']) && $_GET['artist'] == $artiste->name ? 'selected' : '' ?>><?= $artiste->name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
|
||||
<select name="genre" id="genre" onchange="submitForm()>
|
||||
<!-- Filtre par genre -->
|
||||
<select name="genre" id="genre" onchange="this.form.submit()">
|
||||
<option value=''>Tous</option>
|
||||
<?php foreach($genres as $genre): ?>
|
||||
<option value="<?= $genre->name ?>" <?= isset($_GET['genre']) && $_GET['genre'] == $genre->name ? 'selected' : '' ?>><?= $genre->name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
|
||||
<select name="order" id="order" onchange="submitForm()">
|
||||
<!-- Filtre par ordre -->
|
||||
<select name="order" id="order" onchange="this.form.submit()">
|
||||
<option value="">Ordre :</option>
|
||||
<option value="asc" <?= isset($_GET['order']) && $_GET['order'] == 'asc' ? 'selected' : '' ?>>Croissant</option>
|
||||
<option value="desc" <?= isset($_GET['order']) && $_GET['order'] == 'desc' ? 'selected' : '' ?>>Decroissant</option>
|
||||
<option value="desc" <?= isset($_GET['order']) && $_GET['order'] == 'desc' ? 'selected' : '' ?>>Décroissant</option>
|
||||
</select>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function toggleFilters() {
|
||||
var filters = document.getElementById('filters');
|
||||
if (filters.style.display === 'none') {
|
||||
filters.style.display = 'block';
|
||||
} else {
|
||||
filters.style.display = 'none';
|
||||
}
|
||||
<script>
|
||||
// Fonction pour afficher/masquer les filtres
|
||||
function toggleFilters() {
|
||||
var filters = document.getElementById('filters');
|
||||
if (filters.style.display === 'none') {
|
||||
filters.style.display = 'block';
|
||||
} else {
|
||||
filters.style.display = 'none';
|
||||
}
|
||||
|
||||
function submitForm() {
|
||||
document.getElementById('filters').submit();
|
||||
}
|
||||
</script>
|
||||
}
|
||||
</script>
|
||||
|
Loading…
x
Reference in New Issue
Block a user