Bonsoir,

je souhaite une petite aide ou du moins une piste pour mon problème.
je n'arrive plus à réfléchir correctement, je bloque.

J'ai 2 tables

table 1 : une table de mots clés - mkeyoa

id nom
1 autofoncage
2 autoripage
3 berlinoise
4 grutage
5 micropieu
6 hydrocampe
7 ripage
...

table 2 : une table de sites - siteoa dans laquelle des ouvrages sont listés et pour lesquels au maximum 5 mots-clés permettent de les caractériser dans leur méthode de construction, on peut donc avoir parfois juste 3 mots-clés.

id nom key1 key2 key3 key4 key5

1 Pont Cheran 2 3 0 0 0
2 Viaduc Hautille 5 2 1 7 0
3 Viaduc Biollay 5 6 4 0 0
4 Viaduc Fonds 5 3 0 0 0
5 Viaduc Plantes 5 7 1 0 0
6 Viaduc Enfer 1 6 3 2 4
7 Tunnel Chava 2 3 4 0 0
8 Viaduc Chava 5 7 1 4 0


dans cette table 2, les mots clés (key1, ..., key5) sont remplacés
par les ID de la table 1, qui pour l'instant comportent 7 mots clés mais il y en aura à terme entre 40 et 50. Donc cela me semblait plus pratique d'avoir les ID comme repère...

mon problème :

je veux connaître les ouvrages faits avec "ripage" - (ID 7)
là, c'est bon, mon SELECT est simple, j'en trouve 3
je les affiche.
je transforme ensuite les résultats (ici les noms des sites) en url.
je voudrais qu'en cliquant sur un des sites s'affichent tous les mots-clés qui le caractérisent, en plus du "ripage".
pour l'instant, j'arrive à afficher la liste des ID (de key1 à key5), même les nulles.

Code php : 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
$rq =  SELECT id,nom,key1,key2,key3,key4,key5 FROM siteoa WHERE id = '".$_GET['id']."' ";
 
$result = mysql_query ($rq) or die ("Requete impossible.");
 
echo "<ul>";
 
while ($ligne = mysql_fetch_array($result))
 
	{
 
	echo $ligne[1]."<br /><br />";
 
	echo "<li type=disc>Mots : ".$ligne[2]." ".$ligne[3]." ".$ligne[4]." ".$ligne[5]." ".$ligne[6]."</li>";
 
	} 
 
echo "</ul><br />";

je n'ai pas trouvé comment faire afficher les 5 mot-clés, pas leur ID et donc à faire référence aux infos stockés dans la table 1... :-(

je n'arrive pas à imaginer ma requête...

est-ce que les JOINTURES sont la solution ?

http://mysql.developpez.com/faq/?page=SYNTAXE_JOINTURES


Merci d'avance.