par
jeepyfr » 21 mars 2012, 09:45
Bonjour,
Voici le code qui transforme la saisie utilisateur en nombre au format 999,99 pour être mis à jour dans la table Oracle
if(isset($_POST['montantbrut1']) && !empty($_POST['montantbrut1']))
{
if($oldmontantbrut1!=formatennombre($_POST['montantbrut1']))
{
if(strlen($data) > 0)
{
$data .= ', ';
}
$data .= 'MONTANTBRUT1 = \''.doubleapostrophe(formatennombre($_POST['montantbrut1'])).'\'';
}
}
echo $data; <---- Ca c'est moi !
Détail ds fonctions :
function formatennombre($nb)
{
$tmp = trim($nb);
$tmp= str_replace("€","",$tmp);
$tmp= str_replace(" ","",$tmp);
$tmp= str_replace(".",",",$tmp);
return $tmp;
}
function doubleapostrophe($str)
{
$result= str_replace("'","''",$str);
return $result;
};
Voici les différents Echo récupérer sur le poste lancant l'application via http:127.0.0.1\app
MONTANTBRUT1 = '222,11'
UPDATE an_infirm.ATTEST_ACCIDENT_TRAV SET MONTANTBRUT1 = '222,11' WHERE NUM_ATTEST = 1743
La mise à jour s'effectue correctement dans la base Oracle
Sur le serveur http:\\ipserveur\app l'éxécution de la même transaction me renvoi le code erreur 500....
Autre point relevé, sur le même poste de travail, le symbole décimal en utilisant l'application en local est la virgule alors que sur le serveur c'est le point qui s'affiche. Cela a t'il son importance ?
Merci
Bonjour,
Voici le code qui transforme la saisie utilisateur en nombre au format 999,99 pour être mis à jour dans la table Oracle
if(isset($_POST['montantbrut1']) && !empty($_POST['montantbrut1']))
{
if($oldmontantbrut1!=formatennombre($_POST['montantbrut1']))
{
if(strlen($data) > 0)
{
$data .= ', ';
}
$data .= 'MONTANTBRUT1 = \''.doubleapostrophe(formatennombre($_POST['montantbrut1'])).'\'';
}
}
echo $data; <---- Ca c'est moi !
Détail ds fonctions :
function formatennombre($nb)
{
$tmp = trim($nb);
$tmp= str_replace("€","",$tmp);
$tmp= str_replace(" ","",$tmp);
$tmp= str_replace(".",",",$tmp);
return $tmp;
}
function doubleapostrophe($str)
{
$result= str_replace("'","''",$str);
return $result;
};
Voici les différents Echo récupérer sur le poste lancant l'application via http:127.0.0.1\app
MONTANTBRUT1 = '222,11'
UPDATE an_infirm.ATTEST_ACCIDENT_TRAV SET MONTANTBRUT1 = '222,11' WHERE NUM_ATTEST = 1743
La mise à jour s'effectue correctement dans la base Oracle
Sur le serveur http:\\ipserveur\app l'éxécution de la même transaction me renvoi le code erreur 500....
Autre point relevé, sur le même poste de travail, le symbole décimal en utilisant l'application en local est la virgule alors que sur le serveur c'est le point qui s'affiche. Cela a t'il son importance ?
Merci