On peut donc dire qu'un élève peut avoir n matières et une matière peut avoir m élèves, voilà pourquoi une relation [n,m]un élève peut choisir plusieurs matières, une matière peut avoir plusieurs élèves
foreach ($row as $matiere)
{
$sql ="SELECT * FROM eleves AS a, map_matieres_eleves AS b WHERE b.idmatiere = $matiere->idmatiere";
....suite exécution requete + var_dump sur résultats
}
Le résultat:
Code : Tout sélectionner
SELECT *
FROM map_matieres_eleves mme
JOIN eleves e USING (ideleve)
WHERE mme.idmatiere = ?SELECT * FROM eleves WHERE ideleve IN (SELECT ideleve FROM map_matieres_eleves WHERE idmatiere = $row->id)
ça marche très bien mais c'eset dommage, j'aurais bien voulu enfin comprendre comment marchent ces jointures qui me donnent des indigestions depuis longtemps.
Un bon début serait de relire mon précédent post où je te rappelle de poster le schéma de tes tables (c'est un rappel qui est également afficher en rouge lors de l'envoi du message, où la procédure pour déboguer ses requêtes est expliquées) et de t'inscrire pour éviter de poster toutes les 30 secondes.comprendre comment marchent ces jointures