Bonjour,
Je voudrais créer une liste hiérarchique pour afficher ma collection de MP3 (collection évolutive). Le but est d'afficher d'abord au 1er niveau le genre musical (rock, pop, reggae, etc.) puis le nom des artistes de ce genre et pour chaque artiste : ses albums avec pour chaque album son titre, la date de parution, le pays d'origine, la taille des MP3, le format (MP3, MPC, WAV) et la pochette de l'album.

Voici par un schéma, le résultat à obtenir :

*Genre 1
.....oArtiste 1
...........-Album 1 : Date, pays, pochette.
...........-Album 2 : Date, pays, pochette.
.....oArtiste 2
...........-Album 1 : Date, pays, pochette.
*Genre 2
etc.

J'ai effectué plusieurs tentatives mais rien ne fonctionne. J'ai fait des recherches sur le net mais j'avoue une certaine incompétence face aux différents scripts. Etant débutant et ne connaissant rien à la programmation, la tâche est rude et je galère grâve.

Voici ma dernière tentative, le résultat n'est pas encore satisfaisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// insertion des données
	mysql_query ("INSERT INTO bdd_music VALUES('', '$nom' , '$artiste' , '$genre' , '$pays' , '$date' , '$taille' , '$format' , '$image')");
	}
//calcul du nombre de requêtes avec la fonction mysql_numrows
$result = mysql_query ("SELECT * FROM bdd_music ORDER BY genre");
echo mysql_numrows ($result);
//Affichage des résultats à partir de l'instruction mysql_result qui demande trois paramètres : (la variable de requête -$result , la ligne d'enregistrement de la requête , le champ à afficher)
$compteur=0;
while ($compteur < mysql_numrows ($result))
	{
	$nomalbum = mysql_result ($result , $compteur, "nom");
	$artiste = mysql_result ($result , $compteur, "artiste");
	$pays = mysql_result ($result , $compteur, "pays");
	$date = mysql_result ($result , $compteur, "date");
	$taille = mysql_result ($result , $compteur, "taille");
	$format = mysql_result ($result , $compteur, "format");
	$image = mysql_result ($result , $compteur, "image");
	$genre1 =  mysql_result ($result , $compteur, "genre");
	$compteur2 = $compteur++;
	$genre2 = $compteur2++;
	$genre2 =  mysql_result ($result , $compteur2, "genre");
	if ($compteur==0)
		{
		echo "<ul><li>$genre1</li></ul>";
		}
	elseif ($genre1 != $genre2)
		{
		echo "<ul><li>$genre2</li></ul>";
		}
	echo "$artiste - $nomalbum - $pays - $date - Taille ($taille Mo) - Format : $format - <img src=/images/music/$image /><br/>";
	$copmteur++;
	}
mysql_close();
?>
Alors, si vous avez des pistes pour m'éclairer ou si vous avez un code plus efficace à proposer, je suis preneur