importer1fichierCsv.php

#Importation d'un fichier CSV
######################
#importerCSV.php
<?
$page_name="Importation d'un fichier CSV";
include_once("../common/header.php"); 

?>
<p>Exporter, depuis Excel ou OpenOffice un fichier FC au format CSV avec comme délimiteur le point-virgule (&nbsp;<strong>;</strong>&nbsp;) avec les colonnes suivantes:<br>
<strong>"GENRE","NOM";"PRENOM";"Ecole";"Classe";"Telephone";"FRouFC"</strong>
<br><em>Attention, les titres des champs (la ligne précédente) ne doit PAS être dans le fichier qui ne doit contenir QUE les données</em>
<br>
Le fichier exemple est <A href="import/template.csv">disponible ici</A>
</p>
<p>Une fois le fichier prêt, l'uploader avec le formulaire suivant et suivre les indications</p>
<FORM enctype="multipart/form-data" action="importerCSV2.php" method="POST">
<INPUT type="file" name="csvFile" alt="fichier CSV">
<INPUT type="submit" value="Importer">
</FORM>
<? 

include_once("../common/footer.php"); 
?>

######################
#importerCSV2.php
<?php
$fichier=  $_FILES['csvFile']['name']; //fournit le nom d'origine du fichier.
$typeFichier= $_FILES['csvFile']['type']; //fournit le type MIME du fichier.
$sizeFichier= $_FILES['csvFile']['size']; //fournit la taille en octets du fichier.
$tmp_Fichier= $_FILES['csvFile']['tmp_name']; #fournit le nom temporaire du fichier.

if($fichier) { // cas normal
echo "
<pre>
Voici les informations disponibles sur votre fichier:
nom d'origine du fichier: 	$fichier
type MIME du fichier:		$typeFichier
taille en octets du fichier:	$sizeFichier
nom temporaire du fichier:	$tmp_Fichier

Le fichier doit être au format:
\"GENRE\",\"NOM\";\"PRENOM\";\"Ecole\";\"Classe\";\"Telephone\";\"FRouFC\" 

Voici le contenu du fichier:
";
echo file_get_contents($tmp_Fichier);
echo "</pre>
";

#copie fichier sur serveur
$repertoire="import/";
	$doit=  copy($tmp_Fichier, $repertoire.$fichier);
	if(!$doit) {
		echo "Problème, le fichier n'a pas été correctement lu";
	} else {
	echo "Tout s'est déroulé correctement d'un point de vue informatique; si le résultat de l'importation vous convient, vous pouvez maintenant <A href=\"importerCSV3.php?file=$fichier\">finaliser l'importation du fichier dans la base de données</A> <br><em>NB: les espaces seront automatiquement supprimés lors de l'importation</em>";
	}
} else {
echo "Problème, le fichier n'a pas été correctement lu";
exit;
}
?>
######################
#importerCSV3.php
<?php
include_once("../common/dbConnection.php");

$file=$_REQUEST['file'];

#$row = 1;
$handle = fopen("import/".$file, "r");
echo "<pre>";
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$genre=trim($data[0]);
$nom=trim($data[1]);
$prenom=trim($data[2]);
$FRouFC=trim($data[6]);
$sql= "
INSERT INTO `enseignants` ( `id` , `GENRE` , `NOM` , `NOM_ANCIEN` , `PRENOM` , `EMAIL` , `STATUT` , `FORMATION` , `REMARQUES` , `FR_FC_enseignant` )
VALUES (
NULL , '$genre', '$nom', '', '$prenom', '', '', '', '', '$FRouFC'
);
";
$doit=mysql_query($sql);
#recupere nvl id enseignant
$thisId_enseignant=mysql_insert_id();
$ecole=trim($data[3]);
$degre=trim($data[4]);
$tel=trim($data[5]);

	#ecoles
	$ecole=ereg_replace("Ecole de la ", "", $ecole);
	$ecole=ereg_replace("Ecole des ", "", $ecole);
	$ecole=ereg_replace("Ecole de ", "", $ecole);
	$ecole=ereg_replace("Ecole du ", "", $ecole);
	$ecole=ereg_replace(" - ", "%", $ecole);
	$chercheEcole="SELECT * FROM ecoles WHERE nom LIKE '%$ecole%'";
	$chercheEcole=mysql_query($chercheEcole);
	$chercheEcoleN=mysql_num_rows($chercheEcole);
	if($chercheEcoleN>1) {
	echo "Il y plusieurs écoles possibles dans la base de données pour l'enseignant id $thisId_enseignant, ne pas oublier de corriger<br>";
		$i=0;
		while($i<$chercheEcoleN) {
		echo "<b>Nom école: </b>" .mysql_result($chercheEcole,$i,'nom');
		echo " - tel: " .mysql_result($chercheEcole,$i,'tel') ."<hr>";
		$i++;
		}
		} elseif($chercheEcoleN<1) {
	echo "L'école $ecole n'existe pas dans la base de données, ne pas oublier de corriger pour l'enseignant id $thisId_enseignant";
	} else { // OK let's insert
	$Ecole=mysql_result($chercheEcole,0,'id_ecole');
	$sqlQuery = "INSERT INTO enseignants_ecoles (id_enseignant , id_ecole) VALUES ('$thisId_enseignant' , '$Ecole')";
#echo $sqlQuery ."<br>";
				$result = MYSQL_QUERY($sqlQuery);
	}

	#degres
	/*
	PRIMAIRE
	Ecole Enfantine
	2 ans (1Enfantine, 2E)
	6 ans (1Primaire, 2P, 3P, 4P, 5P, 6P)
	SECONDAIRE>
	*/
	if(ereg("1E",$degre)||ereg("2E",$degre)||ereg("",$degre)||ereg("1P",$degre)||ereg("2P",$degre)||ereg("3P",$degre)||ereg("4P",$degre)||ereg("5P",$degre)||ereg("6P",$degre)) {
				$sqlQuery = "INSERT INTO enseignants_degres (DEGRE , id_enseignant ) VALUES ('PRIMAIRE' , '$thisId_enseignant' )";
				$result = MYSQL_QUERY($sqlQuery);
	
	}

	#division élémentaire va de 1E à 2P et la division moyenne va de 3P à 6P. 
	if(ereg("1E",$degre)||ereg("2E",$degre)||ereg("",$degre)||ereg("1P",$degre)||ereg("2P",$degre)) {
			$sqlQuery = "INSERT INTO enseignants_division (id_enseignant , DIVISION ) VALUES ('$thisId_enseignant' , 'ELEMENTAIRE' )";
				$result = MYSQL_QUERY($sqlQuery);
	} elseif(ereg("3P",$degre)||ereg("4P",$degre)||ereg("5P",$degre)||ereg("6P",$degre)) {
			$sqlQuery = "INSERT INTO enseignants_division (id_enseignant , DIVISION ) VALUES ('$thisId_enseignant' , 'MOYENNE' )";
				$result = MYSQL_QUERY($sqlQuery);
	} 

} // fin loop principal
fclose($handle);
echo "</pre>";




#fin de l'insertion

if($result) {
echo "Tout s'est correctement déroulé, vous allez être redirigé sur la page des enseigants dans quelques secondes";
echo '<meta http-equiv="refresh" content="10;URL=../enseignants/listEnseignants.php">';
} else {
"Problème, l'enregistrement n'a pas été correctement introduit!";
}


include_once("../common/footer.php");



?>
 
info/importer1fichiercsv.txt · Dernière modification: 2008/11/11 11:37 (modification externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki