Bonsoir,

Voilà mon soucis c'est que je n'arrive pas à écrire ma requête SQL qui permet d'éviter les doublons dans ma table, dans ma ta eleves_sports, un élève peu faire plusieurs sports, 3 maximuns, la requête SQL insert correctement aléatoirement un nombre de sports suivant 20 élèves voir pas du tout .exemple :
id eleves_id sports_id
1 1 2
2 1 4
3 1 2
4 2 3
5 3 1
6 3 4
7 5 2


mais les doublons continuer à se faire.
voilà mon code :
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
 
public function addSports_Eleves(TableElevesSports $sports_eleves)// Un objet TableElevesSports est attendu
	{
 
 
		$valeur_sports = $sports_eleves->sports_id; //variable $valeur_sports contenant le nombre aléatoire de sports pratiqué
 
		for($i=1;$i<=$valeur_sports; $i++)
		{
			$sql= 'INSERT INTO eleves_sports(eleves_id,sports_id) VALUES (:eleves_id, :sports_id) WHERE NOT EXISTS(SELECT eleves_id,sports_id FROM eleves_sports WHERE eleves_id = :eleves_id AND sports_id = :sports_id)';
			$stmnt = $this->_db->prepare($sql);
			$valeurEleve_id = htmlspecialchars($sports_eleves->getEleves_id());
			$valeurSport_id = rand(1,5); //random des 5 sports possibles
			$stmnt->bindParam(':eleves_id', $valeurEleve_id);
			$stmnt->bindParam(':sports_id',$valeurSport_id);
			$stmnt->execute();
		}
merci de prendre le temps de m'aider