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 utiliser plusieurs bases de données avec php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2019
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Comment utiliser plusieurs bases de données avec php
    Salut,
    J'essaie de travailler avec plusieurs serveurs avec plusieurs bases de données sans aucune relation entre eux - ils ont juste les mêmes tables. Je dois donc développer une application avec php pouvant utiliser toutes ces bases de données. Par exemple:
    Société ->
    En Italie, serveur 1 avec DATABASE1 (tableaux: USER-client-Agenda)
    Au Canada, serveur 2 avec DATABASE2 (tableaux: USER-client-Agende)

    C'est la même chose

    J'ai donc besoin d'aide - si quelqu'un a la moindre idée de comment puis-je travailler et développer cette application .. Je pense créer une base de données contenant les informations sur les autres serveurs et bases de données ..

    Mais le problème est de savoir comment y parvenir dans php?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,

    tu crées une connexion spécifique pour chaque base de données. Par exemple avec PDO:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $dbh1 = new PDO('mysql:host=server1;dbname=testDB1', 'user1', '****');
    $dbh1->query('SELECT * FROM Foo');
    //extraction des données
     
    $dbh2 = new PDO('mysql:host=server2;dbname=testDB2', 'user2', '****');
    $dbh2->query('SELECT * FROM Foo');
    //extraction des données
    Après pour authentifier les utilisateurs, t'as plusieurs choix possibles:
    - soit se baser sur une seule BD
    - soit créer une 3ème BD qui va gérer tous les users
    - soit utiliser oauth2 (serveur).

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2019
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour armel18,
    Merci d'abord de votre réponse..
    alors dans cette solution que vous m'avez donné je peux meme trvaillé d'une maniére qui est dynamic .. a la base que tout les serveurs
    ils sont les meme (dbname,dbpasse,base_donne)..
    le changement et justement sur le hote(serveur)...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    pour le faire dynamiquement je t'invite à regarder le design pattern factory. Ce design pattern va permettre de créer des objets Pdo regroupés en famille tout en masquant la classe concrète Pdo ayant permis la création des objets( $ddh1, $dbh2).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //DBFactory  est une classe que tu va créer
    $dbh = DBFactory::create("serveur1"); // crée un objet Pdo lié au serveur1

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2019
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Si j'ai bien compris je doit travaillé avec design pattern factory.
    y'a t'il des lien utiles a consulté ou Tutorial qui peux m'aide d'une manière précise

  6. #6
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Est-ce que tu utilises les différentes bases de données en même temps, ou est-ce que tu as juste besoin de pouvoir sélectionner la base à utiliser ?
    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]

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2019
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Hey Celira,
    Merci de votre réponse..
    non j'utilise une seul qui est choisie ..
    pour être claire .. j'ai un plateforme quand je me connecte j'ai besoin d'une liste de toute les bases de donnés de toutes les serveurs qu'on a ..
    et quand je vais choisir une je dois me connecter dedans..
    Voila petite schéma..

    Administrateur --> page login --> liste des base de donnes ( choisir une en Click).. directement se connecte dedans et affiche toutes ces tables et les choses a manipuler dans d'autre taches

  8. #8
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ok, donc il te faut un endroit où stocker les informations des bases disponibles : soit dans une base à part, soit un fichier de données (un format CSV peut très bien suffire)
    Ensuite il faut mémoriser la base sélectionnée (par exemple en session) et utiliser les informations de cette base pour faire la connexion.
    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]

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2019
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    donc je dois stocke les donnes de toutes les autres bases de donnes et a chaque sélection d'une base je dois passe tout ces info a une fonction de connexion..
    alors Merci a vous et a Mr armel18

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

Discussions similaires

  1. [2.x] Comment utiliser plusieures bases de données?
    Par green29 dans le forum Symfony
    Réponses: 3
    Dernier message: 23/07/2013, 10h36
  2. [MySQL] Connexion à une base de données avec php-gtk
    Par mawusse dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/09/2007, 18h30
  3. [SQL] Importer un fichier .sql dans une base de données avec PHP
    Par budiste dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2006, 14h15
  4. utilisation de base de donnée avec JSF
    Par kedare dans le forum JSF
    Réponses: 1
    Dernier message: 16/05/2006, 17h03
  5. [JBOSS] comment changer de base de données avec jboss?
    Par khokho dans le forum Wildfly/JBoss
    Réponses: 5
    Dernier message: 13/03/2006, 15h36

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