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

Langage PHP Discussion :

[Tableaux] Pb de récupération d'un select multiple


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Par défaut [Tableaux] Pb de récupération d'un select multiple
    Bon voilà, je voudrais récuprer dans une variable (afin de l'enregistrer dans une base de données) les résultats d'un select multiple... j'arrive bien à afficher les différents résultats, mais quand il s'agit de les enregistrer, seul le dernier résultat de la la liste est pris en compte
    Merci d'un coup de main éventuel

    Voici 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
    <select name="frdpt[]" size="5" multiple="multiple" class="champform" id="frdpt">
                <option value="Ain (01)">01 - Ain</option>
                <option value="Aisne (02)">02 - Aisne</option>
                ....//...
    </select>
     
    foreach(
    	foreach($frdpt as $elem) {
        echo $elem;
    }
     
    	$sql = "UPDATE xxxxx SET RDPT='$elem' where LOGIN='$login'";
            ...//...

  2. #2
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Salut,

    Oublie pas les balises code.
    Sinon il faut récupérer la variable grace à $_POST.
    Les deux foreach ne servent à rien.
    Sinon comment tu veux enregistrer les données dans ta base?

  3. #3
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut bdd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <select name="frdpt[]" size="5" multiple="multiple" class="champform" id="frdpt">
                <option value="Ain (01)">01 - Ain</option>
                <option value="Aisne (02)">02 - Aisne</option>
                ....//...
    </select>
     
    foreach(
    	foreach($frdpt as $elem) {
        echo $elem;
    }
     
    	$sql = "UPDATE xxxxx SET RDPT='$elem' where LOGIN='$login'";
            ...//...

    Si tu fais un foreach pour les afficher et ainsi parcourir tout le tableau il te faut faire la même chose pour sauvegarder tes données!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($frdpt as $elem) {
    mysql_querry("UPDATE xxxxx SET RDPT='$elem' where LOGIN='$login'");
    }

  4. #4
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Non parce que ça reviendrait au même, à la fin il y aurait la dernière donnée d'insérée

  5. #5
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 51
    Par défaut
    Croyez pas que j'ai résolu mon problème... et non je cherche encore.

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Avec un tout petit peu de bonne volonté, tu pourrais étudier la réponse, pleine de bon sens, d'Hug0_76 : tu as un echo pour afficher le contenu correctement, mais tu as situé ta requête en-dehors de la boucle qui exécute cet echo. Cela ne te semble-t-il pas étrange ?

  7. #7
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    bonjour,


    je profite de votre discussion car j'ai le même type de problème :

    voici le code de la sélection multiple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select name="specifique[]" multiple >
              <option option value=""selected>Choisir dans la liste</option>
              <option value="Alzheimer">Alzheimer </option>
              <option value="Handicap">Handicap</option>
              </select>
    et je voudrais ensuite intégrer une ligne par sélection dans la BDD, ou alors une ligne avec un champ vide si rien n'est sélectionné.
    Je suis partie sur le code suivant, mais je n'arrive pas à voir où ca bloque.
    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (isset($_POST['specifique']) && $_POST['specifique'] != "")
    {
    foreach($_POST['specifique'] as $elem) 
    {
       $sql1 = 'INSERT INTO aide_ac VALUES ("","'.$_SESSION['clef'].'","'.$_POST['public'].'","'.$_POST['activite'].'", "'.$elem.'")'; 
    }
    }
    else	
     $sql1 = 'INSERT INTO aide_ac VALUES ("","'.$_SESSION['clef'].'","'.$_POST['public'].'","'.$_POST['activite'].'","")';
    Merci à ceux qui pourront m'aider.

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    D'une part, il faudrait nous dire ce qui bloque
    D'autre part, n'oublie pas de te protéger contre les injections SQL (doc de mysql_real_escape_string() par exemple).

  9. #9
    Membre confirmé Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par défaut
    merci yogui,

    pour li'nstant, le problème c'est qu'il n'y a qu'une ligne d'intégrée, avec "array" dans le champ specifique.

    Pour la sécurité, c'est une autre de mes préoccupations actuelles, mais je voulais chercher un peu avant de poster. Pour l'instant j'ai juste des addslashes / stripslashes avant d'intégrer les variables ou de les écrire, mais je ne sais pas si c'est suffisant.

    Pour les requêtes, je vais voir la doc de mysql_real_escape_string, merci.

Discussions similaires

  1. Récupération d'un select Multiple avec PHP
    Par Loic Dupel dans le forum Langage
    Réponses: 8
    Dernier message: 13/09/2013, 10h21
  2. Récupération des valeurs select multiple sans sélection
    Par akara dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 17/07/2007, 19h10
  3. Réponses: 1
    Dernier message: 21/03/2007, 15h21
  4. Problème de récupération de valeur d'un select multiple
    Par poissonsoluble dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/11/2006, 09h37
  5. Réponses: 14
    Dernier message: 18/08/2006, 18h54

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