Afficher le contenu d'une table par initiale
Posté : 02 juin 2010, 17:02
Bonjour,
Je suis le webmaster d'un webzine musical.
Les chroniques du site sont stockées dans une table (musicreviews), je voudrais que sur la page du site qui les liste, elles apparaissent rangées par initiale.
J'ai deux problèmes :
- si je fais une boucle en prenant les initiales stockées dans "musicreviews" (on renseigne les initiales pour chaque groupe chroniqué, si vous avez une idée de comment récupérer l'initiale directement, n'hésitez pas
), ils m'affichent deux fois les initiales si deux groupes ont la même comme par exemple :
- C
Cult of luna
- M
Monolithe
- C
Celeste
- si je fais une table qui contient l'alphabet, il m'affiche tout l'alphabet, y compris les lettres ne correspondant à aucun groupe. Je me retrouve donc avec des espaces vides, ce que je ne veux pas
Voici mon code actuel, correspondant à celui avec la table alphabet :
Je suis le webmaster d'un webzine musical.
Les chroniques du site sont stockées dans une table (musicreviews), je voudrais que sur la page du site qui les liste, elles apparaissent rangées par initiale.
J'ai deux problèmes :
- si je fais une boucle en prenant les initiales stockées dans "musicreviews" (on renseigne les initiales pour chaque groupe chroniqué, si vous avez une idée de comment récupérer l'initiale directement, n'hésitez pas
- C
Cult of luna
- M
Monolithe
- C
Celeste
- si je fais une table qui contient l'alphabet, il m'affiche tout l'alphabet, y compris les lettres ne correspondant à aucun groupe. Je me retrouve donc avec des espaces vides, ce que je ne veux pas
Voici mon code actuel, correspondant à celui avec la table alphabet :
Code : Tout sélectionner
<?php
$req1 = $bdd->query('SELECT lettre FROM alphabet');
while($donnees1 = $req1->fetch())
{
echo "<h4>- [".$donnees1['lettre']."]</h4>";
$req = $bdd->prepare('SELECT id, annee, nomgroupe, nomalbum, initiale FROM musicreviews WHERE lettre = :lettre AND lang = :lang ORDER BY initiale, annee');
$req->execute(array('lettre' => $donnees1['lettre'], 'lang' => $lang));
while ($donnees = $req->fetch())
{
?><a style="margin-left:2%;" href="musicreviewspage.php?id=<?php echo $donnees['id']; ?>"><?php
echo $donnees['nomgroupe']." - ".$donnees['nomalbum']."<br/>";
?></a><?php
}
}
?>