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 :

select multiple [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Par défaut select multiple
    Bonsoir,

    Pour enregistrer des données dans une base mysql j'ai dans un formulaire un champ de type SELECT MUTLIPLE. jusque là pas de problème, mais je ne vois pas comment faire pour récuperer les données dans l'autre sens en cas de modification de l'enregistrement. je m'explique :
    dans mon formulaire de modification j'ai un select de ce genre
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select name="mon_select[]" MULTIPLE>
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
    ...
    </select>
    dans ma base le champ correspondant à deux valeurs a et c
    quand j'interroge l'enrgistrement pour le modifier comment faire pour que dans mon formulaire a et c soient sélectionnés ?

    merci de votre aide

  2. #2
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Par défaut
    bonsoir,

    je reviens vers vous pour cette question voici ce que j'ai fait.
    Mais il ne sélectionne que 1 seul des termes du tableau $choix_Langue, j'aimerais bien qu'il passe en revue tout les termes du tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $choix_Langue = explode("; ",$result -> Langue);
     
    ...blablabla...
     
    echo "<option value=\"".htmlentities($Valeur_Lan)."\"";
    foreach ($choix_Langue as $control){
    if($control==htmlentities($Valeur_Lan))
    echo 'selected="selected"';
    }
    echo ">".htmlentities($Nom_Lan)."</option>";
    }

  3. #3
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Salut
    Il faut que tu changes la forme de ton select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select name="mon_select" size="6">
      <option value="1">1
      <option value="2">2
      <option value="3">3
      <option value="4">4
    </select>
    Ca donne une liste non déroulante qui permet, quand tu maintiens ctrl enfoncée (ou pomme sous mac) de choisir plusieurs valeurs

    J'espère t'avoir aidé !

  4. #4
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Par défaut
    mais c'est déjà le cas mon select est multiple. Le problème ne viens pas de là mais de cette boucle foreach

    merci pour ta réponse quand même

  5. #5
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Ha pardon !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $choix_Langue = explode("; ",$result -> Langue);
    C'est mieux s'il n'y a pas d'espace entre la variable, la flèche et la propriété...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $choix_Langue = explode("; ",$result->Langue);
    Mais sinon, peux-tu mettre tout le code car là on ne peut pas voir ce qui ne va pas...

  6. #6
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Par défaut
    je viens d'essayer celà mais toujours le méme problème seul le premier terme du tableau $choix_Langue est pris en compte je ne vois pas pourquoi
    une idée ???
    J'ai fait un print_r de $choix_Langue et je voix bien toutes les valeurs je pense que le problème viens de la boucle mais je ne trouve pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $choix_Langue = explode("; ",$result -> Langue);
    ...
    for ($i=0;$i<count($choix_Langue);$i++) {
          if($choix_Langue[$i]==htmlentities($Valeur_Lan))
            echo ' selected="selected"';
    }
            echo ">".htmlentities($Nom_Lan)."</option>";

  7. #7
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Par défaut
    voici tout le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $choix_Langue = explode("; ",$result->Langue);
    $query = mysql_query("SELECT * FROM Langues");
        while($resultat = mysql_fetch_array($query)){
              $Valeur_Lan = $resultat['valeur'];
              $Nom_Lan = $resultat['nom'];
         echo "<option value=\"".htmlentities($Valeur_Lan)."\"";
            for ($i=0;$i<count($choix_Langue);$i++) {
                if($choix_Langue[$i]==htmlentities($Valeur_Lan))
         echo ' selected="selected"';
            }
         echo ">".htmlentities($Nom_Lan)."</option>";
         }

  8. #8
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    tu le sors d'où le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $choix_Langue = explode("; ",$result->Langue);

  9. #9
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Par défaut
    et bien d'une autre requête en fait j'ai une requête qui me récupère l'enregistrement à modifier et une autre pour le select (car la liste n'est pas exhaustive)

    voilà l'autre requête qui fonctionne sans problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $query = mysql_query("SELECT * FROM catalogue WHERE ID = ".$Id."");
    $result = mysql_fetch_object($query);

  10. #10
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    C'est peut-être de là que vient ton problème...

    Il serait plus simple que tu postes tout ton script d'un coup car c'est vraiment difficile au compte-goutte...

  11. #11
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Par défaut
    en fait non mon problème viens bien de cette boucle le car le reste fonctionne très bien.
    Dans ce select il y a pour l'instant 5 choix possibles, sur un test j'en ai sélectionnés 3, que je retrouve bien dans ma base et que je voie si je fait un print_r de ma variable.

    Mais avec cette boucle seul deux sont marqués avec selected="selected", et pas le dernier c'est vraiment pénible

  12. #12
    Membre émérite
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Par défaut
    et en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i=0;$i<count($choix_Langue);$i++) {
      if($choix_Langue[$i]==htmlentities($Valeur_Lan))
        echo ' selected="selected"';
    }
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (in_array($Valeur_Lan, $choix_Langue))
      echo ' selected="selected"';
    ?
    Dia [ Page DVP ] [ Site pro ]

  13. #13
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Par défaut
    Bonjour,

    en fait mas boucle marche très bien, mais comme à mon habitude si je ne fais pas attention à ce que j'écris alors tout de suite celà fonctionne moins biens

    (pour info il y avait un espace de trop au moment de l'enregistrement)

    merci de vos réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Select multiple
    Par lfournial dans le forum Struts 1
    Réponses: 20
    Dernier message: 24/02/2011, 12h14
  2. select multiple sur plusieurs tables
    Par syl2095 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/12/2004, 15h48
  3. [VB6] sélection multiple de colonne dans excel grâce à VB
    Par biquet dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/08/2004, 12h44
  4. <select multiple ...>
    Par ayobo dans le forum ASP
    Réponses: 2
    Dernier message: 06/07/2004, 08h49
  5. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16

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