IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

gestion liste déroulante multichoix


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Par défaut gestion liste déroulante multichoix
    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

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 520
    Par défaut
    Bonjour,

    C'est la ligne print_r($candidat)."candidat"."<br>" ; qui pose problème, parce que c'est la seule instruction de la boucle.

    Déplaces la entre les accolades {} de la boucle ou bien totalement à l'extérieur, mais pas à cet endroit.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/12/2020, 10h15
  2. [MySQL] gestion liste déroulante
    Par leblaireau12 dans le forum PHP & Base de données
    Réponses: 24
    Dernier message: 12/01/2018, 19h38
  3. Réponses: 1
    Dernier message: 13/05/2013, 20h52
  4. Gestion liste déroulante
    Par demenvil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/09/2011, 11h15
  5. champs de formulaire par liste déroulante multichoix
    Par malkie dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/02/2008, 23h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo