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 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| <?php
//include("login.php");
$monfichierCSV=getFichierCSV();
OuvertureFichier($monfichierCSV);
/* cette fonction sert à recuperer le nom du fichier envoyer par le formulaire et renvoie donc ce nom du fichier*/
function getFichierCSV()
{
/*on stocke le fichier dans un endroit sur le serveur*/
$stock="/var/www/apache2-default/script/";
if (move_uploaded_file($_FILES['fichierEnvoi']['tmp_name'], $stock.$_FILES['fichierEnvoi']['name']))
{
echo "Le fichier ".$_FILES['fichierEnvoi']['name']." a ete telecharge avec succes dans ".$stock."<br /><br /><hr>";
}
$monfichierCSVF=$_FILES['fichierEnvoi']['name'];
return $monfichierCSVF;
}
function connection()
{
$link=mysql_pconnect("localhost","root","") or die("Connexion au serveur impossible");
$db=mysql_select_db("omnipub",$link) or die("Selection de la base impossible");
}
function OuvertureFichier($fichier)
{
$memeRef=false; //teste si la reference du fichier csv=ref de la table objets
//echo "appel de la fonction getReferenceTableObjets <br /><br />";
$tabRefObj=getReferenceTableObjets();
//echo "Fin appel de la fonction getReferenceTableObjets <br /><br />";
$taille=1027;
$delimiteur=";";
/*ouverture du fichier*/
if($fp= fopen($fichier,"r"))
{ /* extraction d'une ligne */
while($ligne=fgetcsv($fp,$taille,$delimiteur))
{ //cette boucle affiche les noms des champs du fichier csv
/*for($j=0;$j<sizeof($ligne);$j++)
{
echo "Le champ du fichier csv numero " .$j . " = <b>".$ligne[$j] . "</b><br />";
}*/
//$ligne[0] contient toutes les references contenues dans le fichier csv
for($j=0;$j<sizeof($tabRefObj);$j++)
{
//if($ligne[0]=='ref OM');break;
$comp=strcmp($ligne[0],$tabRefObj[$j]);
//echo "La reference csv est <b> : " .$ligne[0];echo "</b> Et "; echo "La ref dans la table objets via la requete est : <b> " . $tabRefObj[$j]. "</b>";echo "<br />";
if($comp==0)
{
$memeRef=true;
echo "Le Champ reference csv <b> " .$ligne[0]. " </b>= a La reference objets <b>" . $tabRefObj[$j];echo "</b><br />";
connection();
$resultQuery=mysql_query("update prix set P1=$ligne[11]*2,P2=$ligne[12]*2,P4=$ligne[13]*2,P5=$ligne[14]*1.7,P10=$ligne[15]*1.7,
P15=$ligne[16]*1.5,P20=$ligne[17]*1.5, qte=$ligne[9] where ref='$ligne[0]'")
or die("Execution impossible de la requete des mise a jour de la reference " .$ligne[0]. " des produits existants , l'erreur est ". mysql_error());
}
//else echo "le champ csv <b> ".$ligne[0]."</b> est different de la reference de la table objet <b> ".$tabRefObj[$j] ." </b><br />";
}
if($memeRef==false)
{
echo " Insertion de la reference :<b> " .$ligne[0]. " </b>dans la base<br /> <br /><br />";
connection();
$reqInsertInt_Obj_Cat="insert into int_obj_cat(cid,ref)values('$ligne[7]','$ligne[0]')";
mysql_query($reqInsertInt_Obj_Cat) or die("Erreur insertion de la requete " .$reqInsertInt_Obj_Cat . " l'erreur est ". mysql_error() );
$reqInsertInt_Obj_Coul="insert into int_obj_coul values('$ligne[7]','$ligne[0]')";
mysql_query($reqInsertInt_Obj_Coul) or die("Erreur insertion de la requete " .$reqInsertInt_Obj_Coul . " l'erreur est ". mysql_error() );
$reqInsertPrix="insert into prix(ref,P1,P2,P4,P5,P10,P15,P20,qte) values('$ligne[0]','$ligne[11]'*2,'$ligne[12]'*2,'$ligne[13]'*2,'$ligne[14]'*1.7,'$ligne[15]'*1.7,'$ligne[16]'*1.5,'$ligne[17]'*1.5,'$ligne[9]')";
mysql_query($reqInsertPrix) or die("Erreur insertion de la requete " .$reqInsertPrix . " l'erreur est ". mysql_error() );
$RequeteIdPrix="select id from prix where ref LIKE '$ligne[0]'";echo " la requete est :<b> " . $RequeteIdPrix;echo "</b><br />";
$IdPrix=mysql_query($RequeteIdPrix) or die("Selection impossible de ID prix <br /> l'erreur est ". mysql_error());
echo "le id correspondant a la reference <b>".$ligne[0]."</b> est :<b> ". $IdPrix . "</b><br /><br />";
$reqInsertObjet="insert into `objets`(`ref`, `nom`, `descriptif`, `type`,`prix`,`fournisseur`) values ('".mysql_escape_string($ligne[0])."','".mysql_escape_string($ligne[2])."','".mysql_escape_string($ligne[4])."','".mysql_escape_string($ligne[6])."','".mysql_escape_string($IdPrix)."','".mysql_escape_string($ligne[1])."')";
mysql_query($reqInsertObjet) or die("Erreur insertion de la requete " .$reqInsertObjet . " l'erreur est ". mysql_error());
}
}
}
else
{
echo "Ouverture du fichier ". $fichier ." impossible";
}
fclose($fp);
}
/* cette fonction fonctionne*/
function getReferenceTableObjets()
{
$tteReferences=array();
connection();
$i=0;
$requete="select distinct ref from objets";
$refObjet=mysql_query($requete) or die("Execution de la requete".$requete." dans la fonction getReferenceTableObjets impossible");
while($mesRef=mysql_fetch_assoc($refObjet))
{
$tteReferences[$i]=$mesRef['ref'];
//echo "la reference dans la base num ".$i. " est ". $tteReferences[$i];echo "<br />";
$i++;
}
return $tteReferences;
} |
Partager