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

Requêtes MySQL Discussion :

lister les valeurs d'un champs de type enum...


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 24
    Points : 17
    Points
    17
    Par défaut lister les valeurs d'un champs de type enum...
    Bonjour, Bonjour,

    J'ai une question à propos des champs de type enum dans une BDD MySQL.

    Je souhaite savoir s'il existe une requête SQL permettant de lister les valeurs d'un champs de type enum.

    car je souhaite faire une interface qui propose une liste déroulante avec les valeurs du enum...

    Merci pour vos lumières...

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Un truc comme ça doit pouvoir faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      $sql = 'describe cmde_tete cmde_reglt';
      $result = ExecRequete($sql, $connexion);
      $item = mysql_fetch_object($result);
      $aRemplacer = array('enum(', ')', '\'');
      $liste = explode(',', str_replace($aRemplacer, '', $item -> Type));
      echo '<select>';
      foreach ($liste as $valeur)
      {
          echo '<option value="' . $valeur . '">' . $valeur . '</option>';
      }
      echo '</select>';
    Plus de détails sur 'describe' ici :
    http://dev.mysql.com/doc/refman/5.0/fr/describe.html

  3. #3
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Merci de consulter la avant de poster :

    http://mysql.developpez.com/faq/?pag...TRUCTURE_champ

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    J'ai consulté la FAC avant de poster...

    le problème de la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW COLUMNS FROM latable LIKE 'lacolonne';
    sur une colonne de type enum est qu'elle me renvoie uniquement les valeurs du enum déja présente dans les enregistrements de la base...
    dans mon cas je cherche à lister toutes les valeurs du enum que j'ai spécifié lors de la création de la base y compris celle qui n'ont pas encore été utilisée...

    Merci Jeca, ton script avec la commande describe correspond à ske je veux...

  5. #5
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Citation Envoyé par korrigann
    le problème de la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW COLUMNS FROM latable LIKE 'lacolonne';
    sur une colonne de type enum est qu'elle me renvoie uniquement les valeurs du enum déja présente dans les enregistrements de la base...
    Avec quelle version ? Je viens de vérifier et ça donne bien toutes les valeurs possibles...

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    MySQL 4.1.14

  7. #7
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Posted by Jeroen van den Eijkhof on November 20 2004 1:41pm

    When programming in PHP, ASP and the like I for example want to get the values from an "enum"

    when querying like:
    SHOW columns FROM table
    if you load the result in an array it will look like this:
    array([0],[Field],[1],[Type],[2],[Null],[3],[Key],[4],[Default],[5],[Extra])
    Where the number, [x], gives the same value as the name, [name].

    Good to know when getting the values for a enum field.
    If you want to do this in PHP here is a good example:
    http://se2.php.net/manual/en/functio...etch-field.php ->read user comments
    http://dev.mysql.com/doc/refman/4.1/...w-columns.html

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/06/2010, 10h44
  2. lister les valeurs d'un champ par rapport a un autre champ
    Par w13winni dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/09/2009, 10h24
  3. Réponses: 1
    Dernier message: 19/09/2009, 20h58
  4. [MySQL] Valeurs d'un champ de type enum ?
    Par ybruant dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/11/2007, 16h13
  5. Réinitialiser les valeurs d'un champ de type identify
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/01/2005, 13h39

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