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 :

comment interroger 2 tables différentes appartenant a 2 bd differentes


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut comment interroger 2 tables différentes appartenant a 2 bd differentes
    bonjour ,

    je veux lister des informations a partir de 2 tables différentes provenant de 2 base de données différentes sur le même serveur . j'ai essayé avec le code suivant
    mais le code ne s’exécute pas merci de votre aide
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?php
    //connecxion au serveur:
     
     
    //connexion à la première base de données ACCESS
    $bd1="P_FM001"; // identifiant DSN
    $user=""; // login
    $password=""; // password
    $cnx1 = odbc_connect( $bd1 , $user, $password ) or die ("Impossible de se connecter à la base de données");
     
    //connexion à la deuxième base de données ACCESS
    $bd="P_test"; // identifiant DSN
    $user=""; // login
    $password=""; // password
    $cnx = odbc_connect( $bd , $user, $password,true ) or die ("Impossible de se connecter à la base de données");
     
     
      $query = "SELECT staxe.Date_Comm,staxe.N_Poste,Postes.OCCUPE FROM staxe ,[;$database=C:\Program Files\EasyPHP-12.1\www\EagleWeb\data\fp00111.accdb].Postes  ORDER BY Date_Comm ASC;";
    $result=odbc_exec($cnx1,$query);
     $num_rows=0;
     while(odbc_fetch_row($result)){
     
    ?>

  2. #2
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 596
    Par défaut
    Bonjour, quand tu dis le code ne s’exécute pas tu veux dire la requête ne retourne pas le résultat attendu ou alors la connexion ne se fait pas tu as une erreur à poster?

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut
    Notice: Undefined variable: database .............. on line 19

    Warning: odbc_exec(): ...................... on line 20

    Warning: odbc_fetch_row() expects parameter 1 to be resource, boolean given in .............. on line 22

  4. #4
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 596
    Par défaut
    A quoi correspond
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [;$database=C:\Program Files\EasyPHP-12.1\www\EagleWeb\data\fp00111.accdb].Postes
    pourquoi le mets-tu dans ta requête sql?

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut
    pour designer la deuxième base de données fp00111.accdb et sa table Postes .

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut
    ce bout de code :
    [;$database=C:\Program Files\EasyPHP-12.1\www\EagleWeb\data\fp00111.accdb].Postes

    je l'ai utilisé dans mon code visual basic et ca fonctionne bien

  7. #7
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 596
    Par défaut
    Le message est clair il dit que ta variable n'ai pas initialisé es-tu certains du chemin? sinon tu as essayé de te connecter avec la fonction PDO pour voir ce que cela donne?

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut
    le chemin est bon ,
    je crois que la variable $database n'est pas reconnu par php .
    est ce que cette méthode que j'ai utilisé pour interroger les 2 tables des 2 bases de données different est la bonne , si non aider moi a resoudre ce probleme

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    hum... est-ce que $database est censée être une variable PHP ou est-ce une syntaxe spécifique à ton SGDB ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut
    $database est censée être une variable PHP

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Donc tu tentes de faire l'affectation d'une variable à l'intérieur d'une chaine ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  12. #12
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut
    cette requête sql qui permet l'acces a 2 tables différentes appartenant a 2 bd differentes , je l'ai utlisé dans mon programme en visual basic et j'ai cru pouvoir l’utiliser en php ,je débute en langage php . si cette requête n'est pas compatible avec le PHP aidez moi a en trouver une .

  13. #13
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Honnêtement, dès que je commence à voir des chemins en "C:\" dans du code PHP, je doute de la réussite de l'opération. Mettre des chemins dépendant de l'installation du serveur dans un script n'est pas une bonne idée : ça implique que dès que tu vas déployer ton code sur un autre serveur, il va arrêter de fonctionner

    As-tu réellement besoin de récupérer tes données dans une seule requête ? Il n'y a aucun filtre, ni aucune liaison entre tes 2 tables. Tu pourrais parfaitement récupérer les données dans deux requêtes et les combiner ensuite.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  14. #14
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut
    oui effectivement tu as raison écrire le chemin ce n'est pas une bonne idée :
    si je veux une requête ou il y a des filtres et combinaison entre 2 tables ,dans mon exemple que j'ai cité ci dessus :

    il y a 2 base de données fp00111.accdb et P_FM001.accdb et chaque bd a une table : staxe pour P_FM001.accdb et Postes pour fp00111.accdb ,
    je veux une jointure entre ces 2 tables

    $query = "SELECT staxe.Date_Comm,staxe.N_Poste,Postes.OCCUPE FROM staxe ,[;$database=C:\Program Files\EasyPHP-12.1\www\EagleWeb\data\fp00111.accdb].Postes

  15. #15
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 21
    Par défaut
    est ce qu il n y a pas une possibilité de se connecter a deux tables différentes appartenant a 2 base de données avec php

  16. #16
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Par défaut
    Bonjour tu ne peux pas faire une jointure entre tes 2 tables.A partir du moment où elles ne sont pas dans une même base de données je déduis qu'aucune relation n'existe entre elles.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2014, 20h05
  2. Réponses: 3
    Dernier message: 15/02/2011, 14h55
  3. Réponses: 2
    Dernier message: 14/02/2010, 19h30
  4. Comment comparer 2 tables et trouver les lignes différentes
    Par PierreYvesQc dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/08/2007, 21h04
  5. Réponses: 7
    Dernier message: 27/03/2007, 11h50

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