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 :

Récuéprer deux champs au meme nom dans un Innerjoin [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Récuéprer deux champs au meme nom dans un Innerjoin
    Hello à tous,

    J'ai fait une requête sql qui comporte deux tables (Inner Join).

    Pour afficher mes résultats je faisais un mysql_fetch_array puis une variable du genre : $row["nomdelacolonne"]. Mais le problème est que sur mes deux tables, deux colonnes ont le meme nom.
    J'ai bien entendu parler de la syntaxe : nomtable.nomcolonne mais dans ma variable ca ne fonctionne pas si je fais

    $row["table1.titre"] et $row["table2.titre"]

    Comment faut-il donc modifier cette variable pour qu'elle fonctionne ?

    Merci d'avance

  2. #2
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    mets des alias sur tes noms de champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    table1.toto as colonne1
    table2.tot as colonne2

  3. #3
    Membre éclairé
    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
    Points : 708
    Points
    708
    Par défaut
    j'ai jamais eu le problème donc je te garantis rien mais essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select table1.champ as truc, table2.champ as machin from ...
     
    mysql_query...
     
    $var = mysql_fetch_array...
     
    echo $var['truc'];
    echo $var['machin'];

    edit : bon ba apparemment ça doit être ça vu que Joe propose la même solution

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    hello,

    c'est exactement cela.

    a noter tout de meme qu'il n'est pas nécessaire d'aliaser les 2

    select table1.titre, table2.titre as titre2 ...

    fonctionnera parfaitement.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Ok avec les alias ca fonctionne,

    Mais si quelqu'un connait une solution pour ne pas changer la requete mais la variable c'est volontiers.

    Merci ;-)

  6. #6
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    Citation Envoyé par easyjava
    Mais si quelqu'un connait une solution pour ne pas changer la requete mais la variable c'est volontiers.

    Merci ;-)
    Justement, on te dit que ce n'est pas possible
    Et mettre 1 alias, c'est pas la mer à boire

  7. #7
    Membre émérite 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
    Points : 2 273
    Points
    2 273
    Par défaut
    Je me demande si ca fonctionne en utilisant mysq_fetch_row() et en y accédant par l'index, mais de toute façon c'est très peu pratique.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Okey ça marche !
    Merci pour vos réponses rapides.

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

Discussions similaires

  1. [PHP 5.1] Récupérer deux champs avec même nom
    Par Federico_muy_bien dans le forum Langage
    Réponses: 10
    Dernier message: 05/08/2010, 17h42
  2. Réponses: 4
    Dernier message: 10/10/2007, 15h31
  3. Réponses: 2
    Dernier message: 21/06/2007, 08h44
  4. [MySQL] Sélectionner deux champs du meme nom dans deux tables
    Par Msieurduss dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 14/06/2006, 22h54
  5. FieldbyName => deux champs du meme nom
    Par dacid dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/01/2005, 14h05

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