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 :

[SQL] Comment prédéfinir la valeur d'un select multiple


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Par défaut [SQL] Comment prédéfinir la valeur d'un select multiple
    En fait j'ai un petit souci avec la fonction in_array()

    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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
     
    <select name="Q37" size="10" multiple id="Q37">
              <option value="1"<?php
    if(in_array('1', $dbarray["Q37"])) echo "selected"; ?>>Gestion - Fiscalit&eacute;</option>
              <option value="2"<?php
    if(in_array('2', $dbarray["Q37"])) echo "selected"; ?>>Comptabilit&eacute;</option>
              <option value="3"<?php
    if(in_array('3', $dbarray["Q37"])) echo "selected"; ?>>Marketing</option>
              <option value="4"<?php
    if(in_array('4', $dbarray["Q37"])) echo "selected"; ?>>Commercial</option>
              <option value="5"<?php
    if(in_array('5', $dbarray["Q37"])) echo "selected"; ?>>Commerce &eacute;lectronique</option>
              <option value="6"<?php
    if(in_array('6', $dbarray["Q37"])) echo "selected"; ?>>Commerce international</option>
              <option value="7"<?php
    if(in_array('7', $dbarray["Q37"])) echo "selected"; ?>>Droit du travail</option>
              <option value="8"<?php
    if(in_array('8', $dbarray["Q37"])) echo "selected"; ?>>Gestion du personnel</option>
              <option value="9"<?php
    if(in_array('9', $dbarray["Q37"])) echo "selected"; ?>>Strat&eacute;gie</option>
              <option value="10"<?php
    if(in_array('10', $dbarray["Q37"])) echo "selected"; ?>>Protection - S&eacute;curit&eacute; - Normalisation</option>
              <option value="11"<?php
    if(in_array('11', $dbarray["Q37"])) echo "selected"; ?>>Autres</option>
              <option value="0" <?php
    if(in_array('0', $dbarray["Q37"])) echo "selected"; ?>>Aucun</option>
            </select>
    et voici l'erreur que j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    warning : in_array() : wrong datatype in argument 2
    $dbarray contient le resulat d'une requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $q = "select Q31,Q32,Q33,Q34,Q351,Q352,Q361,Q362,Q37,Q38,Q39,Q310,Q311,Q312,Q313,Q314,Q315,Q316,Q317,visited from e_services_qce_user where user = '$username'"; 
    $result = mysql_query($q,$conn); 
    $dbarray = mysql_fetch_array($result);
    Voila si quelqu'un a une idée sur le problème..

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    $dbarray["Q37"] n'est pas un tableau, que contient ton champ Q37 ? Ce serait pas une liste de valeurs séparées par un séparateur, du type "2|13|33" ?
    Bye

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Par défaut
    ben c'est ce que me retourne le formulaire, cela correspond a la liste multiple..

  4. #4
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Tu devrais vérifier ce que tu as dans ta base, si t'insères directement $_POST['Q37'] ca ne peut pas marcher.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 148
    Par défaut
    Dans ma base de données, j'ai bien des valeurs espacée par un séparateur comment je peux mettre ça dans un tableau..

  6. #6
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Dans ce cas il faut recréer un tableau depuis ta chaîne avec explode().

    ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $arr = explode("|", $dbarray["Q37"]);
    if(in_array('1', $arr)) {}
    Bye

Discussions similaires

  1. [FAQ] Les formulaires (partie 1) Comment récupérer les valeurs d'un select multiple ?
    Par Auteur dans le forum Contributions JavaScript / AJAX
    Réponses: 9
    Dernier message: 17/11/2013, 11h26
  2. [Visual Web] comment récupérer la valeur d'un select
    Par DEV-10 dans le forum NetBeans
    Réponses: 4
    Dernier message: 09/11/2006, 20h41
  3. Réponses: 6
    Dernier message: 07/11/2006, 15h55
  4. Comment récupérer la valeur de c select
    Par Tarba dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 30/06/2006, 15h52
  5. [Conception] comment recupérer la valeur d'un select
    Par arno1977 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/06/2006, 14h09

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