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 :

Valeurs sur bdd


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2024
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Valeurs sur bdd
    Bonsoir à tous, est il possible dans une table sql de définir un choix à une valeur svp exemple concret:

    Champ choix: Valeurs:
    A,B,C 1,2,3

    Si l utilisateur choisi la réponse B, dans le champ « valeurs » cela enregistre « 2 »

    Merci d avance à tous

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 231
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 231
    Points : 8 493
    Points
    8 493
    Billets dans le blog
    17
    Par défaut
    Tu peux faire cela avec 2 tables et une dépendance fonctionnelle / clef étrangère :

    Table constructeur (id, nom)
    Table voiture (id, nom, constructeur_id)

    constructeur
    --------------
    id=1 nom=Peugeot
    id=2 nom=Renault
    id=3 nom=Citroën
    insert into voiture
    set
        nom = 'Alpine',
        constructeur_id = (select all id from constructeur where nom = 'Renault')
    ;
    La table voiture vaudra :

    id=1 nom=Alpine constructeur_id=2
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2024
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Visiblement je n’y arrive pas, et vu mes lacunes en sql, peut on être plus précis svp?

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 336
    Points : 39 729
    Points
    39 729
    Billets dans le blog
    9
    Par défaut
    De ce que je comprends du besoin, la réponse ici est plutôt l'utilisation d'un CASE :

    Code SQL : 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
    32
    33
    34
    35
    36
    create table T1
          (  T1C1   smallint primary key
           , T1C2   char(1)  not null
           , T1C3   smallint not null
          )
    ;
    insert into T1 (T1C1, T1C2, T1C3)
    values (   1
            , 'A'
            , case when T1C2 = 'A' then 1
                   when T1C2 = 'B' then 2
                   else 3
              end
           )
         , (   2
            , 'C'
            , case when T1C2 = 'A' then 1
                   when T1C2 = 'B' then 2
                   else 3
              end
           )  
         , (   3
            , 'A'
            , case when T1C2 = 'A' then 1
                   when T1C2 = 'B' then 2
                   else 3
              end
           )  
         , (   4
            , 'B'
            , case when T1C2 = 'A' then 1
                   when T1C2 = 'B' then 2
                   else 3
              end
           )  
    ;

    Résultat :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from T1
    ;

    Solution applicable seulement s'il n'y a que peu de valeurs possibles.
    Mais en ce cas, il y a une redondance dans la table, quel est le but de la manœuvre ?

    Nom : Sans titre.png
Affichages : 37
Taille : 1,5 Ko

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 231
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 231
    Points : 8 493
    Points
    8 493
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Mensiorsoca Voir le message
    Visiblement je n’y arrive pas, et vu mes lacunes en sql, peut on être plus précis svp?
    Pas sans savoir précisément ce que tu veux au final (j'image que ton exemple n'est pas un cas d'usage réel).
    Sinon voir la réponse d'escartefigue
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2024
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Re
    Le but est:

    Un technicien effectue des installations +/- 8 par jour, nous avons au total 20 techniciens… nous voulons qu’il entre son matériel installé via un formulaire, dans le formulaire nous devons absolument récupérer le nom du matériel placer et non pas une valeur…. En revanche j’ai besoin d attribuer une valeur au matériel pour ensuite créer une barre de progression sur 100 points

    Le but étant de dire au technicien en fin de journée tu as eu 90/100

    J’espère avoir été compréhensible dans mon texte. Je vous remercie pour votre aide

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/10/2015, 10h35
  2. [MySQL] liste déroulante sur bdd récupération d'une valeur
    Par zeon71 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/10/2011, 15h42
  3. Réponses: 2
    Dernier message: 23/01/2006, 11h55
  4. Export Acces->Excel Requette sur bdd oracle
    Par cedrickb dans le forum Access
    Réponses: 2
    Dernier message: 31/12/2004, 14h27
  5. [Débutant] Tester une connection sur bdd
    Par lando dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/09/2003, 14h37

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