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 :

PB avec titre de champs de table numérique


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 213
    Par défaut PB avec titre de champs de table numérique
    Bonjour a tous,

    Je rencontre une difficulté lorsque j'interroge ma base, je vous explique.
    J'ai une table qui parle des vins, et j'ai donc les champs suivants : ID_marque, marque, propriéte, 2005, 2004, 2003, 2002...

    sachant que dans les années, sont stockés les prox des bouteilles.

    Je créé ensuite une requete du type :

    le code est en PHP avec $millesime = l'année choisie par le visiteur

    SELECT '$millesime' WHERE marque ='$marque' AND propriéte = '$propriéte'

    Le probleme c'est que cela ne marche pas. dans mon resultat, cela m'affiche la valeur de ma variable millesime soit '2004'

    Est-ce du au fait que mes noms de champs soit des numéros ? car quand je les renomme toto, tata, titi, ca marche !

    Merci et @+

  2. #2
    Membre expérimenté Avatar de brice45
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 188
    Par défaut
    salut,
    crée un champ annee et pas 2005, 2004...

    si tu veux que cela te renvoie la propriete et la marque essaie plutot :

    SELECT marque,propriete WHERE annee='$millesime'

    si j'ai bien compris ton probleme...

  3. #3
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    merci de quand vous mettez des exemples de code

    ton problème vient probablement des quotes...
    si tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "SELECT '$millesime' WHERE marque ='$marque' AND propriéte = '$propriéte'";
    mysql comprend que tu veux afficher la valeur représentée par le contenu de la variable $millesime.
    Il faut mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "SELECT $millesime WHERE marque ='$marque' AND propriéte = '$propriéte'";
    un ptit conseil, évites les caractères accentués pour tes noms de champs et de variables ( d'ailleurs je crois que ce n'est pas possible pour une variable php ) ;-)

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 213
    Par défaut
    OK, merci pour l'info.

    J'avais essyé quelque chose de similaire du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT ".$millesime." WHERE marque ='$marque' AND propriéte = '$propriéte'";
    Ca n'avait pas reglé mon problème. Je vais testé et vous tiens au courant.

  5. #5
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 698
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 698
    Par défaut
    comme c'est un champ avec nom special, il faut mettre des "`" (touche 7) pour protéger ton champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT `$millesime` WHERE marque ='$marque' AND propriéte = '$propriéte'";
    d'un autre coté il y a un problème de conception. si tu peux encore changer, découpe cette table en 2

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 213
    Par défaut
    Merci pour la touche 7, je ne connaissais pas.

    En fait, il est trop tard pour changer la base, il y a plus de 21000 entrées dans cette table, j'imagines pas le boulot, même si j'automatise le tout.
    Et puis aussi, la requete complete, fait appel a 2 autres tables grace a INNER JOIN, j'imagine que ca doit etre compliqué d'en rajouter une 4ème.

    En tout cas merci pour le tuyau :


    @+

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 213
    Par défaut
    Je viens de tester, c'était bien cela !!!
    je n'ai qu'un seul mot a dire :

    Mercibeaucoupc'estgenial !!!!!!!

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/04/2006, 11h12
  2. Champs d'une table numériques
    Par bart64 dans le forum Access
    Réponses: 6
    Dernier message: 31/01/2006, 06h05
  3. Réponses: 4
    Dernier message: 13/10/2005, 14h44
  4. Between avec des champs de tables
    Par talggir dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/05/2005, 09h11
  5. Update champ avec le meme champ de la meme table
    Par Baquardie dans le forum Langage SQL
    Réponses: 7
    Dernier message: 04/06/2004, 11h17

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