Si tu veux récupérer uniquement les fonctions (tu as déjà la donnée utilisateur), tu as une petite erreur dans ta condition de jointure :
INNER JOIN tb_utilisateur_fonction ON tb_fonction.id_fonction = tb_utilisateur_fonction.id_fonction
Tu peux également récupérer toutes les données simultanément (pour éviter de faire deux requêtes), mais pour ça il faut faire deux jointures :
1 2 3 4 5
| SELECT tb_fonction.id_fonction, tb_fonction.nom_fonction
FROM tb_fonction
INNER JOIN tb_utilisateur_fonction ON tb_fonction.id_fonction = tb_utilisateur_fonction.id_fonction
INNER JOIN tb_utilisateur ON tb_utilisateur_fonction.id_utilisateur = tb_utilisateur.id_utilisateur
WHERE tb_utilisateur.id_utilisateur = $utilisateur |
Le "where" peut être changé en fonction de tes besoins. Tu peux même directement récupérer des données présentes en variables de session (si tu les utilise).
Pour info, et pour avoir moins de code a écrire dans ta requête, tu peux "renommer" tes tables lors de ta requête, le résultat sera le même :
1 2 3 4 5
| SELECT f.id_fonction, f.nom_fonction
FROM tb_fonction f
INNER JOIN tb_utilisateur_fonction uf ON f.id_fonction = uf.id_fonction
INNER JOIN tb_utilisateur u ON uf.id_utilisateur = u.id_utilisateur
WHERE u.id_utilisateur = $utilisateur |
Partager