Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
j'essaye de créer pour un site une liste déroulante qui lirait dans la bdd et permettrait de trier par genre, titre, etc... des musiques.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>SHARITY</title>
</head>
<body>
<?php include("top.php"); ?>
<?php include("menu.php"); ?>
<!--liste déroulante pour l'ordre-->
<header class="choix"> <form method="get" action="musique.php"><strong> trier par : </strong>
<select name="tri">
<option value="genre">genre</option>
<option value="titre">titre</option>
<option value="artiste">artiste</option>
<option value="date">date d'ajout</option>
</select>
<input type="submit" value="confirmer" /> <!--création d'un bouton-->
</form>
</header>
<?php //trier par genre
if ($_GET['tri']="genre")
{
try{
// connection à la base de donnée sharity
$bdd = new PDO('mysql:host=localhost;dbname=sharity;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
/*En cas d'erreur*/
die('Erreur : ' . $e->getMessage());
}
// On récupère tout le contenu de la table musique
$reponse = $bdd->query('SELECT * FROM musique ORDER BY genre ASC');
// On affiche chaque entrée une à une
while($donnees = $reponse->fetch())
{
?>
<section class=contenu>
<article><?php
echo '<iframe width="400" height="225" src='.$donnees['url'].' frameborder="0" allowfullscreen></iframe>' ?></article>
<aside><em><?php echo $donnees['titre'] ?></em><br/>
<strong><?php echo $donnees['artiste'] ?></strong></aside>
</section>
<?php }
$reponse->closeCursor(); // termine le traitement de la requête
?>
<?php }
elseif ($_GET['tri']='titre')
{
try{
// connection à la base de donnée sharity
$bdd = new PDO('mysql:host=localhost;dbname=sharity;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
/*En cas d'erreur*/
die('Erreur : ' . $e->getMessage());
}
// On récupère tout le contenu de la table musique
$reponse = $bdd->query('SELECT * FROM musique ORDER BY titre ASC');
// On affiche chaque entrée une à une
while($donnees = $reponse->fetch())
{
?>
<section class=contenu>
<article><?php
echo '<iframe width="400" height="225" src='.$donnees['url'].' frameborder="0" allowfullscreen></iframe>' ?></article>
<aside><em><?php echo $donnees['titre'] ?></em><br/>
<strong><?php echo $donnees['artiste'] ?></strong></aside>
</section>
<?php }
$reponse->closeCursor(); // termine le traitement de la requête
?>
<?php }
elseif ($_GET['tri']='artiste')
{
try{
// connection à la base de donnée sharity
$bdd = new PDO('mysql:host=localhost;dbname=sharity;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
/*En cas d'erreur*/
die('Erreur : ' . $e->getMessage());
}
// On récupère tout le contenu de la table musique
$reponse = $bdd->query('SELECT * FROM musique ORDER BY artiste ASC');
// On affiche chaque entrée une à une
while($donnees = $reponse->fetch())
{
?>
<section class=contenu>
<article><?php
echo '<iframe width="400" height="225" src='.$donnees['url'].' frameborder="0" allowfullscreen></iframe>' ?></article>
<aside><em><?php echo $donnees['titre'] ?></em><br/>
<strong><?php echo $donnees['artiste'] ?></strong></aside>
</section>
<?php }
$reponse->closeCursor(); // termine le traitement de la requête
?>
<?php }
elseif ($_GET['tri']='date')
{
try{
// connection à la base de donnée sharity
$bdd = new PDO('mysql:host=localhost;dbname=sharity;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
/*En cas d'erreur*/
die('Erreur : ' . $e->getMessage());
}
// On récupère tout le contenu de la table musique
$reponse = $bdd->query('SELECT * FROM musique ORDER BY id DESC');
// On affiche chaque entrée une à une
while($donnees = $reponse->fetch())
{
?>
<section class=contenu>
<article><?php
echo '<iframe width="400" height="225" src='.$donnees['url'].' frameborder="0" allowfullscreen></iframe>' ?></article>
<aside><em><?php echo $donnees['titre'] ?></em><br/>
<strong><?php echo $donnees['artiste'] ?></strong></aside>
</section>
<?php }
$reponse->closeCursor(); // termine le traitement de la requête
?>
<?php }
else {
try{
// connection à la base de donnée sharity
$bdd = new PDO('mysql:host=localhost;dbname=sharity;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
/*En cas d'erreur*/
die('Erreur : ' . $e->getMessage());
}
// On récupère tout le contenu de la table musique
$reponse = $bdd->query('SELECT * FROM musique ORDER BY id DESC');
// On affiche chaque entrée une à une
while($donnees = $reponse->fetch())
{
?>
<section class=contenu>
<article><?php
echo '<iframe width="400" height="225" src='.$donnees['url'].' frameborder="0" allowfullscreen></iframe>' ?></article>
<aside><em><?php echo $donnees['titre'] ?></em><br/>
<strong><?php echo $donnees['artiste'] ?></strong></aside>
</section>
<?php }
$reponse->closeCursor(); // termine le traitement de la requête
}
?>
</body>
</html>
Ce que je veux
J'aimerais donc que lorsque l'on clique l'ordre demandé se fasse.
Ce que j'obtiens
Malheureusement les musiques sont toujours triées par ID les plus récentes (et donc les nombres les plus élevés) se situent en haut.
Pourriez-vous m'aider merci !