Bonjour,
J'ai un prob j'ai une base de données avec plusieurs tables, deux d'entres elles ont une relation de n-n ( plusieurs a plusieurs). Pour cela je suis passer par une tierce table ou table de liaison sous les recommandations de Malalam. Que je remercie car je n'avais jamais pensé a cette solution.
Mon prob est simple je dois faire une requête sql sur la table de liaison pour afficher une liste déroulante. J'explique j'ai une table users et une table classes ces deux tables sont reliés a une table lnk_users_classes.
Je dois afficher dans une liste déroulante qui affiche les classes dans lesquels un user donne cours. En cherchant sur le net j'ai lu qu'il fallait faire une clés sur deux champs dans la table lnk_users_classes. Mais comment faire une requête sql sur une table qui a une clés composées.
Voici un bout de code pour que vous puissier voire claire :
<?php
if(isset($_POST['selectprof']))
{
$sqlclas='SELECT * FROM utilisateurs, classe, lnk_users_classes where classe.id_cl= lnk_users_classes.class_id and
lnk_users_classes.users_id='.$_POST['selectprof']; ces ici que je suis bloqué !!!!!!
$reqclas=mysql_query($sqlclas) or die('Erreur SQL! <br>'.$sqlclas.'<br>'.mysql_error());
echo $sqlclas;
?>
Select classe :
<select name="selectclasse" onchange="">
<?php
for ($i = mysql_num_rows($reqclas) -1; $i >= 0; $i--) { //je récupere le nombre de ligne d'un jeu de résultat Mysql de la variable $reqclas
if (!mysql_data_seek($reqclas, $i))
{ //déplace le pointeur interne de résultat
echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n"; //Message en cas d'erreur
continue;
}
if (!($row = mysql_fetch_assoc($reqclas)))
{ //j'affecte le resultat du tableau a la variable $row
continue;
}
echo "<option value=".$row['classe.id_cl']." SELECTED>".$row['classe.nom_cl'] ."</option>"; //affichege des valeurs contenue dans la variable $row
}
?>
</select>
Je demande pas la solution juste une explication ou un exemple pour bien comprendre comment on fait une requête sql sur ce type de table.
A l'aide svp 
Merci d'avance,
Stu76