Bonjour,
J'aimerais affiché dans un champs d'une vue détail une valeur que je lis dans une autre base.
Voici la partie de detailviewdefs.php qui m'intéresse :
PHP Code:
array (
0 =>
array (
'name' => 'account_value_c',
'label' => 'LBL_ACCOUNT_VALUE',
'customCode' => "<font color='red'>" . getAccountValue('{$fields.id.value}') . " €</font>",
),
J'utilise donc un customCode pour afficher la valeur retournée par ma méthode getAccountValue...
Et voici la méthode, dans le fichier account.php :
PHP Code:
<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
function getAccountValue($id){
global $gc_config;
global $db_database_name;
global $db_host_name;
global $db_host_instance;
global $db_admin_user_name;
global $db_admin_password;
include_once("config_gc.php");
include_once('include/database/DBManagerFactory.php');
$db_name= $gc_config['dbconfig']['db_name'];
$db_host_name = $gc_config['dbconfig']['db_host_name'];
$db_admin_user_name = $gc_config['dbconfig']['db_user_name'];
$db_admin_password = $gc_config['dbconfig']['db_password'];
$link = mysql_connect($db_host_name, $db_admin_user_name, $db_admin_password);
mysql_select_db($db_name, $link);
$qu = "select value from account where contact_id='" . $id . "'";
$ct = mysql_query($qu, $link);
$result = "-";
while($row = mysql_fetch_array($ct)) {
$result = $row[0];
}
return $result;
}
?>
La fonction est bien appelée, les variables $id, $db_name, etc. sont bien instanciées, mais il me retourne '-', comme s'il ne trouvait pas l'élement dans la table...
Est-ce que quelqu'un a une idée de pourquoi ça ne fonctionne pas ? Ou un eautre façon de faire ?
Merci !