- Posts: 2696
- Thank you received: 74
se connecter a une autre base dans plugin
14 years 1 week ago #66712
by erickb
se connecter a une autre base dans plugin was created 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
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.
14 years 1 week ago #66913
by Xavier
Replied by Xavier on topic Re: se connecter a une autre base dans plugin
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:
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.
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;
}
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.
14 years 1 week ago #66917
by erickb
Replied by erickb on topic Re: se connecter a une autre base dans plugin
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
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.
14 years 1 week ago #66942
by Xavier
Replied by Xavier on topic Re: se connecter a une autre base dans plugin
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.
14 years 1 week ago #66944
by erickb
Replied by erickb on topic Re: se connecter a une autre base dans plugin
Genial !
merci Xavier , c'est un truc a garder au chaud
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