Bonjour à tous!
Je suis ravi de poster ici mon premier message sur un forum de développement. Je me présente rapidement, je suis étudiant en Physique-Chimie et j'étudie l'informatique et le Webdesign pour le plaisir. En général, je préfère chercher la solution à mes problèmes tout seul car je trouve ça bien plus gratifiant et bien plus efficace pour apprendre et retenir les informations sur le long terme.
Mais là je craque, j'ai beau tourner le problème dans tous les sens je n'arrive pas à trouver la solution.
Je m'explique.
Je souhaite concevoir un site dynamique présentant un label de musique: une page générique pour chaque artiste qui va chercher les informations dans une BDD MySQL. J'ai trois tables dans ma BDD:
artiste ('artiste' (index FULLTEXT), 'nomArtiste', 'sourceImgArtiste', 'infos')
album ('artiste' (index FULLTEXT), 'album' (index FULLTEXT), 'nomAlbum', 'sourceImgAlbum')
morceau ('artiste' (index FULLTEXT), 'album' (index FULLTEXT), 'morceau' (index FULLTEXT), 'nomMorceau', 'sourceMorceau')
Mon problème est celui-ci:
Chaque artiste a réalisé un nombre d'album différent et chaque album possède un nombre de morceaux différents. Je ne sais pas comment jongler entre:
-jonctions de tables lors des requêtes MySQL
-boucles PHP
Il faut savoir qu'en arrivant sur le site, un lien pointe vers chaque artiste en transmettant via un GET la variable url "?artiste=nomDeLartiste" de telle sorte que le nomDeLartiste soit égal à l'index FULLTEXT artiste.
Voilà le résultat que je souhaiterais obtenir par exemple pour 3 albums tel que:
-L'album1 contient 3 morceau
-L'album2 en contient 2
-L'album3 en contient 3
de tel sorte que:
avec tete.php: (il me semble que ce morceau est correct mais je le mets quand même)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <div id="corps"> <?php include 'PHP/tete.php'; include 'PHP/ventre.php'; ?> </div>
et le ventre.php (le véritable problème): j'aimerais qu'il affiche le code HTML ci-dessous au vu de l'exemple.
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 <?php require_once 'PHP/login.php'; // C'est juste le fichier de connexion et celle-ci ce fait en PDO $req = $db->prepare('SELECT sourceImgArtiste, nomArtiste FROM artiste WHERE artiste = ?'); $req->execute(array($_GET['artiste'])); while ($donnees = $req->fetch()) { ?> <div id="tete"> <h1><?php echo $donnees['nomArtiste']; ?></h1> <img id="artist" src="<?php echo $donnees['artistImg']; ?>"> </div> <?php } $req->closeCursor(); ?>
Je ne sais pas si j'ai été assez clair, j'espère que oui. Dans le cas contraire, n'hésitez pas à me demander plus d'informations !
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
35
36
37
38
39
40
41
42
43
44
45 <div id="ventre"> <div id="album"> <div id="album1"> <div id="albumInfos"> <h2>nomAlbum1</h2> <img id="imgAlbum1" src="img/album1.png"> </div> <h3>Morceau1</h3> <h3>Morceau2</h3> <h3>Morceau3</h3> </div> <div id="album2"> <div id="albumInfos"> <h2>nomAlbum2</h2> <img id="imgAlbum2" src="img/album2.png"> </div> <h3>Morceau1</h3> <h3>Morceau2</h3> </div> <div id="album3"> <div id="albumInfos"> <h2>nomAlbum3</h2> <img id="imgAlbum3" src="img/album3.png"> </div> <h3>Morceau1</h3> <h3>Morceau2</h3> <h3>Morceau3</h3> </div> </div> <div id="infos"> <h4>Infos</h4> <div id="contenu"> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce quis dapibus enim. Nam eget convallis nulla. Vestibulum ultrices quam nisi, vel dignissim ligula condimentum a. Aliquam condimentum risus vitae molestie molestie. Sed at nulla ac risus tincidunt tempus quis sit amet tortor. Nulla ultricies ut massa id suscipit. Nam pharetra mi ac efficitur dictum. Fusce in posuere quam, et vulputate augue. Aenean congue sem non justo porta auctor. Donec varius elementum ligula, sed porta ligula sollicitudin et. Sed viverra cursus scelerisque. Sed quis magna nec augue porttitor finibus. Nunc ac libero ut elit maximus lacinia vitae pulvinar nibh. Proin placerat arcu in justo accumsan consequat. Praesent ultricies arcu eu dictum dapibus. Etiam id elit tristique, molestie libero quis, ornare nisl. </p> </div> </div> </div>
Je vous remercie en tout cas de l'attention que vous accorderez à mon problème.
En vous souhaitant une bonne soirée!
Partager