par
chodaboy » 09 déc. 2010, 10:59
Bonjour Jojolapine
Merci de t'intéresser à mon cas.
Voilà ce que je fais:
<?php/*RECUPERATION DES INFOS ARTICLE DANS CEGID GA_ARTICLE ET ECRITURE DANS LA TABLE MYSQL temp_cegid_article*/
$input_query_result_4 = sqlsrv_query($sqlsrv_connexion_CG, "SELECT A.GA_CODEARTICLE, A.GA_CODEBARRE, A.GA_DESIGNATION1, A.GA_DESIGNATION2, A.GA_POIDSBRUT, A.GA_PVTTC, A.GA_PVHT, A.GA_VOLUME, I.RD4_RD4LIBDATE1, A.GA_LINEAIRE, I.RD4_BLOCNOTE, A.GA_BLOCNOTE, A.GA_SURFACE, A.GA_FAMILLENIV2, I.RD4_RD4LIBTEXTE0, I.RD4_RD4LIBTEXTE3, I.RD4_RD4LIBTABLE3, T.YTC_TABLELIBREFOU3, A.GA_LIBREART2, A.GA_LIBREART5 FROM dbo.ARTICLE A, dbo.RTINFOS004 I, dbo.TIERSCOMPL T
WHERE A.GA_ARTICLE = I.RD4_CLEDATA AND A.GA_FOURNPRINC = T.YTC_AUXILIAIRE AND GA_LIBREART8 <> '21';") or die(print_r(sqlsrv_errors()));
while( $row = sqlsrv_fetch_array( $input_query_result_4, SQLSRV_FETCH_ASSOC))
{
If ((substr($row['RD4_BLOCNOTE'], 0, 5)) == '{\rtf')
{
$cleanblocnote = rtf2text($row['RD4_BLOCNOTE']);
$smallcleanblocnote = rtf2text($row['GA_BLOCNOTE']);
}
else
{
$cleanblocnote = $row['RD4_BLOCNOTE'];
$smallcleanblocnote = $row['GA_BLOCNOTE'];
}
$date_sortie = date_format($row['RD4_RD4LIBDATE1'], "Y/d/m");
/*$date_sortie = date('Y-d-m', $row['I.RD4_RD4LIBDATE1']);*/
/*echo strftime("%Y-%m-%d"), $row['RD4_RD4LIBDATE1'];/*
/*$date_sortie = substr($row['RD4_RD4LIBDATE1'], 0, 10);*/
echo $date_sortie;
$insert_result_4 = mysql_query ("INSERT INTO temp_cegid_article VALUES ('".$row['GA_CODEARTICLE']."','".$row['GA_CODEBARRE']."','".$row['GA_DESIGNATION1']."','".$row['GA_DESIGNATION2']."','".$row['GA_POIDSBRUT']."','".$row['GA_PVTTC']."','".$row['GA_PVHT']."','".$row['GA_VOLUME']."','".$row['GA_LINEAIRE']."','".$row['GA_SURFACE']."','".addslashes($cleanblocnote)."','".addslashes($smallcleanblocnote)."','".$row['GA_FAMILLENIV2']."','".$row['RD4_RD4LIBTEXTE0']."','".$row['RD4_RD4LIBTEXTE3']."','".$row['RD4_RD4LIBTABLE3']."','".$row['YTC_TABLELIBREFOU3']."','".$date_sortie."','".$row['GA_LIBREART2']."','".$row['GA_LIBREART5']."');");
$erreur = $insert_result_4;
echo mysql_error();
$nb_rows = $nb_rows + 1;
}
error_log("<br>".$nb_rows." lignes insérées dans temp_cegid_article</br>", 3, $exec_report);
$nb_rows = 0;
?>
Ces requêtes me remplissent une table temporaire, que j'agrège ensuite avec 5 autres pour obtenir ma table finale. Cela dit ça a peu d'importance ici: mon problème est présent déjà dans le champ BLOCNOTE de cette table temporaire.
J'oublierais donc un traitement sur ce blocnote?

Bonjour Jojolapine :)
Merci de t'intéresser à mon cas.
Voilà ce que je fais:
[php]<?php/*RECUPERATION DES INFOS ARTICLE DANS CEGID GA_ARTICLE ET ECRITURE DANS LA TABLE MYSQL temp_cegid_article*/
$input_query_result_4 = sqlsrv_query($sqlsrv_connexion_CG, "SELECT A.GA_CODEARTICLE, A.GA_CODEBARRE, A.GA_DESIGNATION1, A.GA_DESIGNATION2, A.GA_POIDSBRUT, A.GA_PVTTC, A.GA_PVHT, A.GA_VOLUME, I.RD4_RD4LIBDATE1, A.GA_LINEAIRE, I.RD4_BLOCNOTE, A.GA_BLOCNOTE, A.GA_SURFACE, A.GA_FAMILLENIV2, I.RD4_RD4LIBTEXTE0, I.RD4_RD4LIBTEXTE3, I.RD4_RD4LIBTABLE3, T.YTC_TABLELIBREFOU3, A.GA_LIBREART2, A.GA_LIBREART5 FROM dbo.ARTICLE A, dbo.RTINFOS004 I, dbo.TIERSCOMPL T
WHERE A.GA_ARTICLE = I.RD4_CLEDATA AND A.GA_FOURNPRINC = T.YTC_AUXILIAIRE AND GA_LIBREART8 <> '21';") or die(print_r(sqlsrv_errors()));
while( $row = sqlsrv_fetch_array( $input_query_result_4, SQLSRV_FETCH_ASSOC))
{
If ((substr($row['RD4_BLOCNOTE'], 0, 5)) == '{\rtf')
{
$cleanblocnote = rtf2text($row['RD4_BLOCNOTE']);
$smallcleanblocnote = rtf2text($row['GA_BLOCNOTE']);
}
else
{
$cleanblocnote = $row['RD4_BLOCNOTE'];
$smallcleanblocnote = $row['GA_BLOCNOTE'];
}
$date_sortie = date_format($row['RD4_RD4LIBDATE1'], "Y/d/m");
/*$date_sortie = date('Y-d-m', $row['I.RD4_RD4LIBDATE1']);*/
/*echo strftime("%Y-%m-%d"), $row['RD4_RD4LIBDATE1'];/*
/*$date_sortie = substr($row['RD4_RD4LIBDATE1'], 0, 10);*/
echo $date_sortie;
$insert_result_4 = mysql_query ("INSERT INTO temp_cegid_article VALUES ('".$row['GA_CODEARTICLE']."','".$row['GA_CODEBARRE']."','".$row['GA_DESIGNATION1']."','".$row['GA_DESIGNATION2']."','".$row['GA_POIDSBRUT']."','".$row['GA_PVTTC']."','".$row['GA_PVHT']."','".$row['GA_VOLUME']."','".$row['GA_LINEAIRE']."','".$row['GA_SURFACE']."','".addslashes($cleanblocnote)."','".addslashes($smallcleanblocnote)."','".$row['GA_FAMILLENIV2']."','".$row['RD4_RD4LIBTEXTE0']."','".$row['RD4_RD4LIBTEXTE3']."','".$row['RD4_RD4LIBTABLE3']."','".$row['YTC_TABLELIBREFOU3']."','".$date_sortie."','".$row['GA_LIBREART2']."','".$row['GA_LIBREART5']."');");
$erreur = $insert_result_4;
echo mysql_error();
$nb_rows = $nb_rows + 1;
}
error_log("<br>".$nb_rows." lignes insérées dans temp_cegid_article</br>", 3, $exec_report);
$nb_rows = 0;
?>[/php]
Ces requêtes me remplissent une table temporaire, que j'agrège ensuite avec 5 autres pour obtenir ma table finale. Cela dit ça a peu d'importance ici: mon problème est présent déjà dans le champ BLOCNOTE de cette table temporaire.
J'oublierais donc un traitement sur ce blocnote? 8-|