Tableau aliementé verticalement en fonction d'un critère

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tableau aliementé verticalement en fonction d'un critère

Re: Tableau aliementé verticalement en fonction d'un critère

par Invité » 06 oct. 2014, 11:16

Merci,

Je regarde et reviens ensuite.

D'après mes premières recherches, il faudrait s'orienter sur une programmation orienté PDO pour obtenir mon résultat escompté.

Je regarde.

Re: Tableau aliementé verticalement en fonction d'un critère

par yann18 » 04 oct. 2014, 14:16

bonjour,

dans mes précédents posts, j'ai déjà eu à traiter une question similaire à la tienne( tableau croisé dynamique, cf. mon message en date du 01 Oct 2014, 16:04 ).

Tableau aliementé verticalement en fonction d'un critère

par dantalcongo » 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:

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);
POur un tableau standard, ma suite aurait été la suivante

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!!!";} }
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

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>'; }
Mais ca ne fonctionne pas.

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.