Skip to main content

se connecter a une autre base dans plugin

More
14 years 1 week ago #66712 by erickb
Il faut que je cree un plugin qui va mettre a jour des données d'Hikashop dans une autre base de donnees sur le meme serveur

quel est la syntaxe de Joomla pour une autre connexion que celle de la config ?

Joomla utilise configuration.php

public $host = 'localhost';
public $user = 'erezrgerg';
public $password = 'gthkrh,';
public $db = 'sgerg';
public $dbprefix = 'grerge_';

me faudrait un genre de $connexion = JFactory::getDBO(server, database, user,password,prefix)

merci

Please Log in or Create an account to join the conversation.

More
14 years 1 week ago #66913 by Xavier
Bonjour erickb,

Je pense que ceci relève plutôt du domaine de Joomla plutôt que HikaShop. Il serait préférable de poster sur le forum de Joomla.

A mon avis il faudrait se baser sur la fontcion getDBO de joomla:
Code:
function &getDBO() { static $instance; if (!is_object($instance)) { //get the debug configuration setting $conf =& JFactory::getConfig(); $debug = $conf->getValue('config.debug'); $instance = JFactory::_createDBO(); $instance->debug($debug); } return $instance; }
Et au lieu de: "JFactory::getConfig();", faire un appel vers un autre fichier de configuration dans lequel il y aurait vos paramètres.
Mais je ne suis pas sûr de cette réponse.
The following user(s) said Thank You: erickb

Please Log in or Create an account to join the conversation.

More
14 years 1 week ago #66917 by erickb
c'est ce que j'avais trouve aussi
mais sous quelle forme et dans quel ordre cet array $options pour JDatabase::getInstance( $options) ; ?

ligne 249
[url] api.joomla.org/11.4/__filesource/fsource...tabase.php.html#a249 [/url]

driver => 'mysql'
database => 'databasename' // je suppose
select => ??

à quel endroit et comment je passe user, password et prefix ?

merci pour l'aide

Please Log in or Create an account to join the conversation.

More
14 years 1 week ago #66942 by Xavier
Dans votre plugin, faites de cette sorte:
Code:
$db = & $this->getDBO();
Code:
function &getDBO() { static $instance; if (!is_object($instance)) { //get the debug configuration setting $conf =& JFactory::getConfig(); $debug = $conf->getValue('config.debug'); $instance = $this->_createDBO(); $instance->debug($debug); } return $instance; }
Code:
function &_createDBO() { jimport('joomla.database.database'); jimport( 'joomla.database.table' ); $conf =& JFactory::getConfig(); $host = //votre valeur $user = //votre valeur $password = //votre valeur $database = //votre valeur $prefix = //votre valeur $driver = $conf->getValue('config.dbtype'); $debug = $conf->getValue('config.debug'); $options = array ( 'driver' => $driver, 'host' => $host, 'user' => $user, 'password' => $password, 'database' => $database, 'prefix' => $prefix ); $db =& JDatabase::getInstance( $options ); if ( JError::isError($db) ) { header('HTTP/1.1 500 Internal Server Error'); jexit('Database Error: ' . $db->toString() ); } if ($db->getErrorNum() > 0) { JError::raiseError(500 , 'JDatabase::getInstance: Could not connect to database <br />' . 'joomla.library:'.$db->getErrorNum().' - '.$db->getErrorMsg() ); } $db->debug( $debug ); return $db; }
The following user(s) said Thank You: erickb

Please Log in or Create an account to join the conversation.

More
14 years 1 week ago #66944 by erickb
Genial !

merci Xavier , c'est un truc a garder au chaud

Please Log in or Create an account to join the conversation.

Time to create page: 0.181 seconds
Powered by Kunena Forum