0byt3m1n1
Path:
/
home
/
kassiope
/
www
/
administrer
/
[
Home
]
File: csv2mysql_prix.php
<?php include("../configuration.inc.php"); necessite_identification(); necessite_priv("admin"); /* ini_set('display_errors',1); error_reporting(E_ALL); */ $DOC_TITLE = "Module d'importation"; include("modeles/haut.php"); switch (vb($_POST['action'])) { /* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */ case "ajouter": $repertoire_upload = "$dirroot/upload/"; /* Importation du fichier */ if (!empty($_FILES['fichier']['name'])) { $fichier = move_upload_pict($_FILES['fichier']); } else { $fichier = $_POST['fichier']; } echo "<table border=0 cellspacing=1 cellpadding=0 width=100% class=\"tablespace\">"; echo "<tr><th class=\"entete\" >Statut de l'importation</th></tr>"; echo "</table>"; /* On ouvre le fichier en lecture seulement */ if ($fichier != "") { if (file_exists($repertoire_upload.$fichier)) { $fp = fopen($repertoire_upload.$fichier, "r"); }else{ /* le fichier n'existe pas */ echo "<div class=normal>Fichier introuvable !<br />Importation stoppée.</div>"; exit(); } $nbprod=0; $cpt=0; $tabnonpresent = $tabpresent[] = array(); while (!feof($fp)) { /* Tant qu'on atteind pas fin de fichier */ $ligne = fgets($fp,4096); /* On se déplace d'une ligne */ if($cpt>0 && !empty($ligne)) { $liste = explode( ";",trim(str_replace('"','',str_replace("'","'",utf8_encode($ligne))))); /* Champs séparés par ; */ /* On assigne les variables */ if($liste) { $gencode = trim(str_replace(',','.',$liste[0])); $prix_ht = floatval(str_replace(' ','',str_replace(',','.',$liste[1]))); $prix_ttc = floatval(str_replace(' ','',str_replace(',','.',$liste[2]))); $verifprod = mysql_query_override("select * from gaia_produits_tailles where gencode = '" . $gencode . "'"); if (mysql_num_rows_override($verifprod) > 0 && !empty($gencode) && !is_array($gencode)) { // MISE A JOUR PRODUIT $sql = "UPDATE gaia_produits_tailles set prix = '" . addslashes(($prix_ttc)) . "' where gencode = '" . $gencode . "' "; mysql_query_override($sql); $tabpresent[] = $gencode; } else { $verifprod = mysql_query_override("select * from gaia_produits where reference = '" . $gencode . "'"); if (mysql_num_rows_override($verifprod) > 0 && !empty($gencode) && !is_array($gencode)) { // MISE A JOUR PRODUIT $sql = "UPDATE gaia_produits set prix = '" . addslashes(($prix_ttc)) . "', date_maj = '".date('Y-m-d')."' where reference = '" . $gencode . "' "; mysql_query_override($sql); $tabpresent[] = $gencode; } else { $tabnonpresent[] = $gencode; } } //echo $sql.'<br />'; $nbprod++; } } $cpt++; } unset($tabpresent[0]); $nbpresent = count($tabpresent); $nbnonpresent = count($tabnonpresent); $fp = fopen('ref_ok.csv', 'w'); fputcsv($fp, $tabpresent, "\n"); fclose($fp); $fp = fopen('ref_nok.csv', 'w'); fputcsv($fp, $tabnonpresent, "\n"); fclose($fp); /* print_r($tabpresent); echo '<br />-----------------<br />'; print_r($tabnonpresent); */ unlink($repertoire_upload.$fichier); echo "<div class=\"alert alert-info m-3 mt-5\">Nombre de produits dans le fichier : $nbprod.</div>"; echo "<div class=\"alert alert-success m-3\">Nombre de produits mis à jour avec succès : ".$nbpresent." <a href=\"ref_ok.csv\">Voir le fichier</a>.</div>"; echo "<div class=\"alert alert-danger m-3\">Nombre de produits non mis à jour : $nbnonpresent <a href=\"ref_nok.csv\">Voir le fichier</a>.</div>"; fclose($fp); } break; /* FORMULAIRE DE CHOIX D'IMPORTATION */ default: ?> <form method="post" action="<?=$_SERVER['PHP_SELF']?>" name="categories" enctype="multipart/form-data"> <input type="hidden" name="action" value="ajouter"> <table border=0 cellpadding="0" cellspacing="0" width="100%" class="tablespace"> <tr ><th class="entete" colspan="3">IMPORTER UN FICHIER</th></tr> <tr><td colspan="3" class="normal"> <b>Format impératif du fichier </b>: CSV <br /> <br /> Séparateur : <font size="4"><b>;</b></font> point virgule<br /><br /> <font size="+1"><b>Ordre impératif des colonnes du fichier CSV</b></font> :<br /> Voir l'exemple : <a href="<?=$wwwroot?>/administrer/produits_prix.csv">ICI</a><br /> <br /> <b>Attention :</b><br /> - La première ligne DOIT contenir les entêtes des colonnes<br /> - Il ne doit pas y avoir de formule dans le fichier CSV<br /> - Le point virgule indique impérativement un changement de colonne<br /> - Le fichier doit être fermé dans EXCEL pour pouvoir l'uploader<br /> <p> <b>Avant d'importer un fichier,<br /> 1. Assurez vous que le fichier ne comporte pas de lignes blanches.</b> </p> <p> </p> </td></tr> <tr> <td>Importation du fichier de données :</td> <td align="left"> <input class="formulaire1" type="file" name="fichier"> </td> <td align="center"> <input class="bouton" type="submit" name="submit" value="Importer"> </td> </tr> </table> <input type="hidden" name="action" value="ajouter"> </form> <? break; } include("modeles/bas.php"); ?>