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

Langage PHP Discussion :

Récupérer informations en liant 2 tableaux


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Récupérer informations en liant 2 tableaux
    Bonsoir,

    Voila j'ai une question à poser mais je sait pas si c'est possible.

    Tableau 1

    |ID|Nom |Pays|
    | 1|Article1| 1 |
    | 2|Article2| 2 |

    Tableau 2

    |ID_pays|Nom|
    |1|France|
    |2|Belgique|

    Je souhaiterais qu'avec une requête je puisse affiche le nom du pays de l'article1 sans empiler des requête "SELECT".

    C'est possible ?

    Merci de votre aide

  2. #2
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    Bonjour,

    Si je comprends bien, c'est plus un sujet "Base de données" qu'un sujet "langage PHP".

    C'est un sujet que je découvre également, donc je ne peux que te donner une orientation :

    Oui, a priori, c'est possible et il faut que tu cherches la création de requêtes avec jointures.

    Je l'écrirai comme ça mais à tester et à prendre avec des pincettes car je ne suis absolument pas sûr que cela soit correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT table_2.Nom
    FROM table_2
    INNER JOIN table_1 ON table_2.id = table_1.Pays
    WHERE table_1.Nom = Article_1

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    On parle de "table" pas de "tableau".
    Et pour croiser les données de deux tables, on fait une jointure :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT table1.Nom as article_nom, table2.Nom as pays_nom
    FROM table1 JOIN table2 ON table1.Pays = table2.ID_pays

    Tu ne devrais pas appeller toutes tes colonnes de la même facon (Nom) car ca prête a confusion.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2009
    Messages : 99
    Points : 124
    Points
    124
    Par défaut
    Si tu travaille directement avec une base de donnée la réponse du dessus est exacte.

    Maintenant vu que tu parles de tableaux et qu'on est dans le forum PHP, pour comparer 2 tableaux et en tirer des informations communes tu peux procéder comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for ($i = 0 , $i<(count($tableau1)),$i++) //on parcourt le tableau 1
    {
      for ($j = 0 , $j<(count($tableau2)),$j++) //on parcourt le tableau 2
      {
        if ($tableau[$i][2] == $tableau2[$j][0]) //si Produit.pays = Pays.id
        {
           echo "Le produit ".$tableau1[$i][1]." est issu du pays ".$tableau[$j][1]."."; // on affiche le produit et le pays correspondant
        }
      }
    }
    Mais le plus aisé reste la base de données

Discussions similaires

  1. Récupérer informations systèmes
    Par PP(Team) dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 11/07/2007, 16h39
  2. récupérer informations machine
    Par youp_db dans le forum Windows
    Réponses: 1
    Dernier message: 02/07/2007, 17h25
  3. Réponses: 1
    Dernier message: 24/03/2007, 09h55
  4. Récupérer information de sécurité d'un fichier
    Par cyrilc dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/01/2007, 20h07
  5. Récupérer informations IP, ...
    Par jpdelx dans le forum ASP
    Réponses: 6
    Dernier message: 16/11/2003, 06h56

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