Yii Framework Forum: [Résolu] Choisir une base de données de façon dynamique ? - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Résolu] Choisir une base de données de façon dynamique ? Rate Topic: -----

#1 User is offline   Pickzelle 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 18-April 12
  • Location:Nantes

Posted 30 April 2012 - 10:07 AM

Bonjour tout le monde !

Ca fait très peu de temps que j'utilise Yii, et jusqu'ici je pouvais répondre à toutes mes questions en suivant des tutos en ligne ou en lisant les messages d'autres utilisateurs ... mais ça fait maintenant 2 jours (sans compter le week end bien sûr) que je suis bloquée ... donc me voilà !

La situation est la suivante :
  • Chaque client que je dois gérer possède une base de données `db_assistant`+numéro-client (par exemple `db_assistant1`.
  • Les clients et les bases de données qui leur sont associées sont listés dans la table `clients` de la base `db_client`.
  • On ne peut pas se connecter à l'application via son compte client : il faut utiliser les comptes utilisateurs dans la base de données `db_assistant`.

La connexion à l'application se fait donc ainsi :
  • Le client entre son numéro client, son login et son mot de passe.
  • Je regarde si le numéro client saisi correspond à quelque chose dans la base `db_client`.
  • Si oui, je me connecte à la base de données associée à ce client, et je regarde s'il existe un utilisateur correspondant au login saisi.
  • Si oui, je vérifie que le mot de passe saisi correspond au mot de passe de l'utilisateur.
  • Si oui, je connecte l'utilisateur.


Il me faudrait donc un fichier de configuration comme ceci :
...

//On se connecte à la base de donnée recensant les clients
'db' => array(
'connectionString' => 'mysql:host=localhost;dbname=db_client',
'emulatePrepare' => true,
'username' => '*****',
'password' => '*****',
'charset' => 'utf8'
),
		
//On se connecte à la base du client
'dbperso'=> array(
'connectionString' => $sgbd.':host='.$host.';dbname='.$dbname,
'emulatePrepare' => true,
'username' => $utilisateur,
'password' => $pass,
'charset' => 'utf8',
'class' => 'CDbConnection'
),
...


Mon problème est : comment transmettre des valeurs depuis mon contrôleur, jusqu'au fichier de configuration ?
J'ai essayé de mettre mes valeurs dans des variables sessions entre l'étape 2 et l'étape 3, mais je n'ai pas eu beaucoup de succès ^^'
0

#2 User is offline   bennouna 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 1,168
  • Joined: 05-January 12
  • Location:Morocco

Posted 30 April 2012 - 10:15 AM

Bonjour.
Je pense que ce fil peut vous être utile, en particulier le commentaire de conclusion (#9)
0

#3 User is offline   Pickzelle 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 18-April 12
  • Location:Nantes

Posted 02 May 2012 - 02:10 AM

Merci, c'est exactement ce qu'il me fallait ! *-* j'avais pas assez cherché il faut croire, je pense que je ne suis pas très douée pour faire des recherches en anglais...
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users