Bonjour

Tout d'abord bonne année 2021 à tous et toutes ainsi qu'à la team qui fait un super boulot (en espérant la disparition de cette s**********ie de virus !!!)

Voilà j'ai une liste déroulante multichoix ou les personnes choisissent plusieurs candidats

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
18
19
20
21
22
 
<select name="lst_candidats[]" size="6" multiple required="true">
			<option value="">--Choisir son candidat--</option>
			<option value="">------------------------</option>
			<?php
			while ($r3 = $req3->fetch())
		   {
				$candidatId=$r3['candidatId'];
				$candidatNom=$r3['candidatNom'];
				$candidatPrenom=$r3['candidatPrenom'];
				$candidatSortant=$r3['candidatSortant'];
				if($candidatSortant==1){
					$sortant="(Sortant)";
				}else{
					$sortant="";
				}
			?>
			<option value="<?php echo $r3['candidatId']; ?>"><?php echo $r3['candidatNom']." ".$r3['candidatPrenom']." ".$sortant;?></option>
			<?php
			}
			?> 
			</select>
Voici ma mon code de traitement dans une autre page php et ce sont les choix je voudrais insérer dans ma table resultat et donc récupérer tous les candidatId selectionnés pour les inserer dans ma table résultats

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
if(isset($_POST['lst_candidats']) && !empty($_POST['lst_candidats']))
		{//debut if insertion table resultat
 
			$tab_candidat = $_POST['lst_candidats'];
		print_r($tab_candidat)."<br>" ;
			// Construction de la requête d'insertion
			$sql4 = "
				INSERT INTO gr_resultats 
				(resultatCandidatId,resultatDate,resultatNotes,resultatFlag) 
				VALUES 
				(:resultatCandidatId,:resultatDate,:resultatNotes,:resultatFlag)
			";
 
			// Préparation de la requête (en utilisant la connexion $db supposée définie auparavant et ailleurs
			$req4 = $db->prepare($sql4);
 
			// Exécution de la requête autant de fois qu'il y a de choix de la part de l'utilisateur dont l'identifiant est valorisé par ailleurs
				foreach($tab_candidat as $candidat)
			     print_r($candidat)."candidat"."<br>" ;
					{	echo $candidat."toto5"."<br>";
					$req4->bindValue(':resultatCandidatId', $candidat, PDO::PARAM_INT);
					$req4->bindValue(':resultatDate', $date_jour, PDO::PARAM_STR);
					$req4->bindValue(':resultatNotes', NULL, PDO::PARAM_NULL);
					$req4->bindValue(':resultatFlag', 0, PDO::PARAM_BOOL);
					echo "toto"."<br>";
					$req4->execute();
					echo "toto1"."<br>";
				}
 
		}// fin if insertion dans table resultat
et voici le résultat de mes différents print et echo

Array ( [0] => 1 [1] => 2 [2] => 3 ) 1233toto5
toto
toto1
Donc je récupère bien mes choix 1,2 et 3 : par contre dans le foreach je n'ai que l'id 3 et donc je n'insere que l'id 3 dans ma table resultat et pas les id 1 et 2

Je n'arrive pas à voir ou est mon erreur

En espérant avoir été clair

Cordialement