écriture requête sql pour vérification
Bonjour,
Voilà mon soucis c'est que je n'arrive pas à écrire ma requête SQL.
En effet ma première requête vérifie qu'elle n'ajoute pas deux fois le même sports pour un élèves, cela marche très bien.
Cependant je voudrai sachant que l'élèves peux faire trois sports maximums ne pas en ajouté un de plus, tous ça dans la même requête si possible.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public function addSports_Eleves(TableElevesSports $sports_eleves)// Un objet TableElevesSports est attendu
{
$valeur_sports = $sports_eleves->sports_id;
for($i=1;$i<=$valeur_sports; $i++)
{
$sql= 'INSERT INTO eleves_sports(eleves_id,sports_id) SELECT :eleves_id, :sports_id,(SELECT count(eleves_id) FROM eleves_sports WHERE eleves_id = :eleves_id) FROM DUAL WHERE NOT EXISTS(SELECT eleves_id, sports_id FROM eleves_sports WHERE eleves_id = :eleves_id AND sports_id = :sports_id)LIMIT 1 ';
$sql.='SELECT count(eleves_id) FROM eleves_sports WHERE eleves_id=:eleves_id'; //Ceci ne marche pas
$stmnt=$this->_db->prepare($sql);
$valeurEleve_id = htmlspecialchars($sports_eleves->getEleves_id());
$valeurSport_id = rand(1,5);
$stmnt->bindParam(':eleves_id', $valeurEleve_id);
$stmnt->bindParam(':sports_id',$valeurSport_id);
$count_eleves_id = $stmnt->fetchColumn();
if($count_eleves_id == 3)
{
}
else{
$stmnt->execute();
}
}
} |
La première requête marche très bien mais la deuxième pose problème, j'aurai aimé les écrire ensemble mais je ne sais pas comment faire.
Merci pour le temps que vous passerez a m'aider.