[Résolu] Appel à une base de données externe depuis un script php indépendant

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je cherche à afficher, au survol des régions d'une carte de France, les informations relatives à ces régions.
Ces informations sont contenues dans une base de données externe à Drupal.

Dans le fichiers settings.php, j'ai le code suivant :

<?php
$databases
= array (
 
'default' =>
  array (
   
'default' =>
    array (
     
'database' => 'drupal2',
     
'username' => 'root',
     
'password' => 'MAY@M9z1rT',
     
'host' => 'localhost',
     
'port' => '',
     
'driver' => 'mysql',
     
'prefix' => '',
    ),
  ), 
 
'extra' =>
  array(
   
'default' =>
    array(
     
'database' => 'extraf',
     
'username'=> 'username',
     
'password' => 'password',
     
'host' => 'xx.xx.xx.xx',
     
'driver' => 'mysql',
    ),
  ),
);
?>

Dans mon template, une fonction javascript contient la ligne de code suivante :

$.get("<?php echo $base_path . path_to_theme() ?>/actions.php"...

Le fichier actions.php se situe sous sites/all/themes/monTheme/actions.php et contient le code suivant :

<?php
  db_set_active
('extra');
 
$sSQL = "SELECT monChamp FROM maTable";
 
$query = db_query($sSQL);
  ...
 
db_set_active('default');
?>

Or, quand je passe la souris sur une région, j'obtiens l'erreur :
Fatal error: Call to undefined function db_set_active() in \sites\all\themes\monTheme\actions.php on line 3

Quelqu'un saurait-il d'où vient le problème ?

Merci,

Forum : 
Version de Drupal : 

C'était bien le problème, entre autres.
Il fallait en fait ajouter au début de mon fichier actions.php les lignes :

<?php
  define
('DRUPAL_ROOT','../../../../../drupal'); //chemin vers drupal
 
include DRUPAL_ROOT.'/includes/bootstrap.inc';
 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>

Donc le include mais aussi définir la constante DRUPAL_ROOT.

Merci de votre réponse !