Tableau aliementé verticalement en fonction d'un critère
Posté : 04 oct. 2014, 09:32
BOnjour à tous,
VOila plusieurs jours que je penche sur un bout de code que je ne parviens pas à réaliser.
JE vous explique donc ce que je cherche à faire par un exemple parlant.
/ Tu as une liste de catégorie de musique dans ta table t_categorie_musique
Rock, Jazz, Dance, Techno
/ Tu as une liste d'album dans une seconde table t_album
/ Tu as donc une troisième table qui croise les ID des catégorie de musique avec le ID des albums t_joint_album_musique
Si on voulait tout afficher dans un tableau basique, Le début du code serait donc:
POur un tableau standard, ma suite aurait été la suivante
On obtient donc un tableau ligne à ligne avec le type de musique qui se repete.
Ce que je souhaite obtenir c'est la catégorie/type de musique en entête de colonne et le contenu dans les cellules en dessous.
Je pensais à quelques choses du genre
Mais ca ne fonctionne pas.
Le tableau que j'aimerais avoir en sortie serait le suivant:
Merci d'avance et bon week end à vous.
VOila plusieurs jours que je penche sur un bout de code que je ne parviens pas à réaliser.
JE vous explique donc ce que je cherche à faire par un exemple parlant.
/ Tu as une liste de catégorie de musique dans ta table t_categorie_musique
Rock, Jazz, Dance, Techno
/ Tu as une liste d'album dans une seconde table t_album
/ Tu as donc une troisième table qui croise les ID des catégorie de musique avec le ID des albums t_joint_album_musique
Si on voulait tout afficher dans un tableau basique, Le début du code serait donc:
Code : Tout sélectionner
//requete de sélection
$requete= "
select * from
t_categorie_musique, t_album, t_joint_album_categorie
where
t_joint_album_categorie.id_categorie = t_categorie_musique.ref_categorie
AND
t_joint_album_categorie.id_album= t_album.ref_musique";
//lancement de la requete
$lancerequete=mysqli_query($connect, $requete);
Code : Tout sélectionner
if (mysqli_num_rows($lancerequete)>0)
{
?>
<table>
<tr colspan="3">Liste musique / type de musique</tr>
<tr>
<td>Nom ALbum</td>
<td align='center'>Auteur</td>
<td>Type de musique</td>
</tr>
<?PHP
while ($resultat=mysqli_fetch_assoc($lancerequete))
{
?><tr>
<td><?PHP echo $resultat['nom_album'];?> </td>
<td><?PHP echo $resultat['auteur']; ?> </td>
<td><?PHP echo $resultat['type_musique'];?> </td>
</tr><?PHP
}
echo "</table>";
}
else
{echo "C\'est vide!!!";}
}
Ce que je souhaite obtenir c'est la catégorie/type de musique en entête de colonne et le contenu dans les cellules en dessous.
Je pensais à quelques choses du genre
Code : Tout sélectionner
<?PHP
while($viewcategorie = mysqli_fetch_array($envoicategorie)) {
$tab[] = array($viewcategorie['type_musique'] , $viewcategorie['nom_musique']);
}
for($i=0; $i<count($tab[0]); $i++) {
echo '<tr>';
for($j=0; $j<count($tab);$j++) {
echo '<td>' . $tab[$j][$i] . '</td>';
}
echo '<tr>';
}
Le tableau que j'aimerais avoir en sortie serait le suivant:
[table="width: 500"]
[tr]
[td]ROCK[/td]
[td]JAZZ[/td]
[td]POP[/td]
[td]TECHNO[/td]
[/tr]
[tr]
[td]Musique Rock 1- auteur[/td]
[td]Musique JAZZ 1- auteur[/td]
[td]Musique POP 1- auteur[/td]
[td]Musique TECHNO 1- auteur[/td]
[/tr]
[tr]
[td]Musique Rock 2- auteur[/td]
[td]Musique Jazz 2- auteur[/td]
[td]/\[/td]
[td]Musique TECHNO 2- auteur[/td]
[/tr]
[/table]
Est-ce que l'un de vous pourrez m'assister?Merci d'avance et bon week end à vous.