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
|
$file = $_FILES['csv']['name'];
$taille = 1024; // taille ligne maximum
$delimiteur = "\r";
if($fp = fopen($file,"r")) { // Si aucun problème pour ouvrir le fichier CSV
echo "<p class='good'>Fichier ouvert. En cours de lecture...</p>";
$i=2; // Première ligne d'hôtel du fichier Excel
while ($ligne = fgetcsv($fp, $taille, $delimiteur)) { // On lit chaque ligne
foreach($ligne as $elem) {
echo "<span class='ligne'>Ligne ".$i." : </span>"; // On indique le numéro de la ligne (pratique pour se repérer sur le fichier Excel)
$i++;
$elem = addslashes($elem);
$elem = substr($elem,0,-1); // On enlève le dernier " ; " à chaque ligne
$tabl = explode(";", $elem); // On met dans un tableau les elements
$tabl[1]=ereg_replace(" ","",$tabl[1]); // Enlève les espaces mis dans les codes postaux... (petit couac dans les CSV faits par Excel)
// On vérifie que l'hôtel n'y soit pas déjà
$req = "SELECT hotel FROM ho_liste WHERE hotel='".$tabl[2]."' AND adresse='".$tabl[4]."'";
$res = mysql_query($req);
$nb = mysql_num_rows($res); // Nombre d'enregistrement trouves
// Si l'hôtel y est déjà
if($nb) {
echo "<span class='bad'> ERREUR : Hotel déjà présent ! </span> <br />";
// Sinon, insertion
} else {
// Requête SQL (je n'utilise pas ma fonction d'insertion ici pour la raison du point suivant (pas de "die")
$req = "INSERT INTO ho_liste(id_liste,localite,cp,hotel,etoiles,adresse,tel,mail,web,groupe,nb_ch)
VALUES ('','".$tabl[0]."','".$tabl[1]."','".$tabl[2]."','".$tabl[3]."','".$tabl[4]."','".$tabl[5]."',
'".$tabl[6]."','".$tabl[7]."','".$tabl[8]."','".$tabl[9]."')";
// Exécution de la requête... S'il y a un problème, c'est signalé mais l'éxécution des requêtes suivantes continue
if(!@mysql_query($req)) {
echo "<span class='bad'> ERREUR insertion SQL </span>".mysql_error();
} else {
echo "<span class='good'>Mise en ligne : OK ! </span>";
}
echo "<br />";
}
}
}
fclose ($fp); // On ferme le fichier CSV
} else {
die("<p class='bad'>Erreur d'ouverture de fichier ! Merci de recommencer... </p>");
} |
Partager