1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
| //Connexion
include("connexion.php");
$pdo = Connexion();
$fichier = "C:/wamp/www/ged/AGT1.csv";
if (filesize($fichier) > 5)
{
//Ajout à la base temp Mysql
$sql = "LOAD DATA INFILE 'C:/wamp/www/ged/AGT1.csv'
INTO TABLE temp
FIELDS
TERMINATED BY ';'
ENCLOSED BY '\\\"'
ESCAPED BY '\\\\'
LINES
STARTING BY ''
TERMINATED BY '\\n'
IGNORE 1 LINES
(codeDossier, filiale, magasin, codeClient, client, codePostal, ville,
codeVendeur, vendeur, metier, tvaReduite, modele, dateDecouverte, dateDevis,
datePerte, dateVente, codeAnalytique, dateLivraisonSouhaitee, prixNetTtc, prixNetHt, remise, dateFacturation)";
//Ajout à la base Sql Server
/*
$sql = "SELECT * INTO AGT FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:/wamp/www/ged/AGT1.csv')";
*/
$res = $pdo->exec($sql)
or die ("L'insertion à la table TEMP a échoué");
//-------------------------- Ajout à la base AGT --------------------------
//On récupère tous les champs de la table TEMP
$query = "SELECT * FROM temp";
$temp = $pdo->query($query)
or die ("La récupération de la table TEMP a échoué");
//On parcours une à une les lignes du jeu de résultat de $temp
while($liste_temp = $temp->fetch((PDO::FETCH_ASSOC)))
{
set_time_limit(0);
//On vérifie si la ligne AGT existe dans TEMP par rapport au codeDossier
$query2 = "SELECT * FROM agt WHERE codeDossier = '".$liste_temp['codeDossier']."'";
$agt = $pdo->query($query2)
or die ("La vérification de ligne entre AGT et TEMP a échoué");
//Si la ligne existe dans AGT(si la requete est supérieur 0 ligne)
if($agt->rowCount()>0)
{
$liste_agt = $agt->fetch((PDO::FETCH_ASSOC));
//Si un champs est différent
if(($liste_temp['codePostal']!=$liste_agt['codePostal']) || ($liste_temp['ville']!=$liste_agt['ville']))
{
//Alors on modifie tous les champs par rapport à la table TEMP
$update = "UPDATE agt SET codePostal='".$liste_temp['codePostal']."', ville='".$liste_temp['ville']."' WHERE codeDossier='".$liste_temp['codeDossier']."'";
//Execution de la requete
$execute = $pdo->exec($update)
or die ("La mise à jour des champs de la table AGT a échoué");
}
}
else //Sinon la ligne n'existe pas
{
$liste_temp['client'] = str_replace(";","",addslashes($liste_temp['client']));
$liste_temp['ville'] = str_replace(";","",addslashes($liste_temp['ville']));
$liste_temp['modele'] = str_replace(";","",addslashes($liste_temp['modele']));
$liste_temp['vendeur'] = str_replace(";"," ",addslashes($liste_temp['vendeur']));
$liste_temp['codeVendeur'] = str_replace(";","",addslashes($liste_temp['codeVendeur']));
$liste_temp['codePostal'] = str_replace(";","",addslashes($liste_temp['codePostal']));
//On l'insert dans la table
$insert = "INSERT INTO agt VALUES('".$liste_temp['codeDossier']."', '".$liste_temp['filiale']."', '".$liste_temp['magasin']."', '".$liste_temp['codeClient']."', '".$liste_temp['client']."','".$liste_temp['codePostal']."',
'".$liste_temp['ville']."','".$liste_temp['codeVendeur']."', '".$liste_temp['vendeur']."', '".$liste_temp['metier']."', '".$liste_temp['tvaReduite']."','".$liste_temp['modele']."', '".$liste_temp['dateDecouverte']."',
'".$liste_temp['dateDevis']."', '".$liste_temp['datePerte']."', '".$liste_temp['dateVente']."','".$liste_temp['codeAnalytique']."', '".$liste_temp['dateLivraisonSouhaitee']."', '".$liste_temp['prixNetTtc']."',
'".$liste_temp['prixNetHt']."', '".$liste_temp['remise']."', '".$liste_temp['dateFacturation']."')";
//Execution de la requete
$execute = $pdo->exec($insert)
or die ("L'insertion de nouvelles lignes dans AGT a échoué");
}
}
//On supprime la table TEMP
$delete = "DELETE FROM temp";
$execute = $pdo->exec($delete)
or die ("La suppression des données de la table TEMP a échoué");
}
else
{
echo "le fichier est vide";
} |
Partager