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 :

Afficher champs du même nom [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut Afficher champs du même nom
    Bonjour tout le monde,

    je dois faire une requette sur 2 tables : SELECT table1.*, table2.* FROM ...

    dans table1 et table2, j'ai 2 champs qui ont le meme nom : 'id' par exemple.

    mais j'arrive pas a afficher les resulats:
    while($res = mysql_fetch_array(...)
    {
    echo "comment afficher l'id de table1 ?";
    echo "comment afficher l'id de table2 ?";
    }

    une 2eme et derniere question
    y a t il un moyen de faire plus court cette condition en PHP ?? :
    if($type == 1 || $type == 2 || $type == 3)

    merci de votre aide,
    Reda

  2. #2
    Membre chevronné Avatar de makmaoui
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 283
    Par défaut
    Salut,

    j'ai déjà eu le souci des 2 champs portant le même nom, le second écrase le deuxième étant donné qu'ils ont le même indice (je ne sais pas si c'est un bogue de php ou si c'est moi qui m'y suis mal pris). Pour régler le problème j'ai procédé comme suit :

    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
     
    <?php
     
    $sql = mysql_query('SELECT table1.id as id_1, table2.id as id_2, table1.*, table2.* FROM matable');
     
    while($var = mysql_fetch_assoc($sql)) {
     
      echo $var['id_1'];
     
      echo $var['id_2'];
     
    }
     
     
    ?>

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    Bonjour Makmaoui et merci pour ta reponse.

    je reste quand meme assez decu par le nombre de reponses...

    @ bientot

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Citation Envoyé par redah75 Voir le message
    Bonjour Makmaoui et merci pour ta reponse.

    je reste quand meme assez decu par le nombre de reponses...
    Pourquoi? Tu voulais dix reponses a ton message?
    Puisque Makmaoui t'as donne la bonne réponse il n'y a pas de raisons d'avoir 10 personnes qui répondent pareil! Il me semble que dans ton cas la meilleure technique est bien de donner un nom particulier aux deux champs pour les différencier.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 42
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?PHP if ($type >= 1 && $type <= 3) ?>

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    Citation Envoyé par koopajah Voir le message
    Pourquoi? Tu voulais dix reponses a ton message?
    Puisque Makmaoui t'as donne la bonne réponse il n'y a pas de raisons d'avoir 10 personnes qui répondent pareil! Il me semble que dans ton cas la meilleure technique est bien de donner un nom particulier aux deux champs pour les différencier.
    Non, je pensais juste qu'il y avait d'autres solutions, je ne savais pas que c'etait la seule et unique solution


    Uado: j'ai peut etre donne un maivais exemple
    si je veux faire if($type == 1 || $type == 4 || $type == 5)
    que faut il faire? je ne sais pas s'il existe une forme plus cource comme: echo (condition) ? "..." : "..."; qui est equivalente a if(condition) echo "..."; else echo "...";

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    1) La documentation des fonctions mysql_fetch_assoc et mysql_fetch_array est suffisamment claire :
    Citation Envoyé par http://fr3.php.net/mysql_fetch_array
    Si plusieurs colonnes portent le même nom, la dernière colonne aura la priorité. Pour accéder aux autres colonnes du même nom, vous devez utiliser l'index numérique, ou faire un alias pour chaque colonne. Pour les alias de colonnes, vous ne pourrez pas accéder aux contenus avec les noms originaux des colonnes.
    2) Construisez un tableau de vos différentes valeurs et la fonction in_array pour réaliser ce test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (in_array($type, array(1, 3, 4, 5)) {
       // $type est 1, 3, 4 ou 5
    } else {
       // autre valeur
    }

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

Discussions similaires

  1. Empecher l'ajout de deux champs de même nom
    Par fatich dans le forum VB.NET
    Réponses: 8
    Dernier message: 12/05/2014, 18h13
  2. [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
  3. Récupérer tous les champs de même nom
    Par hlr dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/02/2005, 13h26
  4. deux champs ont le même nom
    Par mamouna dans le forum ASP
    Réponses: 5
    Dernier message: 01/07/2004, 13h55
  5. ASP champs avec même nom
    Par pete007 dans le forum ASP
    Réponses: 8
    Dernier message: 03/05/2004, 22h58

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