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 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
| <?php
////include ("inc/prive.inc.php");
include("haut.inc.php");
include ("inc/fonctions.inc.php");
////include ("config/constantes.inc.php");
Normalisation();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Gestion de l'importation des données de Sconet</title>
<a href="index.php">****Accueil Général de la Gestion ****</a>
<script language="javascript" type="text/javascript" src="inc/fonctions.js">
</script>
</head>
<body>
<?php
// autorisations pour la page
////autoriser ("admin");
// menu
//require ("inc/menu.inc.php");
?>
<div id="texte">
<h2>Importation du fichier CSV de Sconet, cette importation est longue, veuillez patienter</h2>
<?php
$mode = isset($_POST['mode']) ? $_POST['mode'] : Null;
switch ($mode)
{
case 'Confirmer':
// ouvrir la BD
include ("variables.inc.php");
$lienDB = mysql_connect($bddserver, $bddlogin, $bddpassword);
mysql_select_db ($bdd);
//Vide la table 'nom_de_la_table'
$query = "DELETE FROM elevescomplete";
$result = mysql_query($query);
echo $query;
$handle = fopen("./eleves.csv", "r");
$ligne = 1;
while (($data = fgetcsv($handle, 5000, ";","\"")) !== FALSE)
{
$num = count($data);
if ($ligne == 1)
{
// sur la première ligne, on trouve les intitulés des colonnes
$debutsql = "INSERT INTO elevescomplete (";
for ($i=0; $i < $num; $i++)
{
$debutsql .= "`$data[$i]";
if ($i < $num-1) $debutsql .= "`,";
}
$debutsql .= "`) VALUES (";
}
else
{
// sur les lignes suivantes, on trouve les infos à introduire dans la BD
$sql = $debutsql;
for ($i=0; $i < $num; $i++)
{
$sql .= "'".mysql_real_escape_string($data[$i])."'";
if ($i < $num-1) $sql .= ","; else $sql .= ");";
}
mysql_query($sql);
if (mysql_error())
{
echo mysql_error() ."<br>\n";
$erreur = true;
}
}
$ligne++;
//echo "$sql <br />";
//mysql_query($sql);
}
echo "L'importation des données semble s'être bien passée.";
fclose($handle);
mysql_close ($lienDB);
if ($erreur == false)
{
$texte = "L'importation des données semble s'être bien passée.";
//redir ("index.php","",$texte, 5000);
}
else
{
$texte = "Il s'est produit une erreur durant l'importation.";
//redir ("index.php","",$texte, 10000);
}
break;
case 'Envoyer':
// recopie du fichier sous un nom définitif
$nomTemporaire = $_FILES['fichierCSV']['tmp_name'];
if( !move_uploaded_file($nomTemporaire, "./eleves.csv") )
exit("Impossible de copier le fichier.");
echo "<div style=\"text-align: center\">\n";
echo "<form name=\"form1\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">\n";
echo "<p>Le fichier CSV a été copié sur le serveur.</p>\n";
echo "<p>Veuillez confirmer l'exportation des données.</p>\n";
echo "<p>\n<input type=\"reset\" name=\"submit\" value=\"Annuler\"";
echo "onclick=\"javascript:history.go(-1)\">\n";
echo "<input type=\"submit\" value=\"Confirmer\" name=\"mode\"></p>\n";
echo "</form>\n";
echo "</div>\n";
// tableau de prévisualisation
echo "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\n";
$handle = fopen("./eleves.csv", "r");
//while (($data = fgetcsv($handle, 5000, ",","\"")) !== FALSE)
while (($data = fgetcsv($handle, 5000, ";","\"")) !== FALSE)
{
$num = count($data);
echo "<tr>\n";
for ($i=0; $i < $num; $i++)
echo "<td>".$data[$i] . "</td>\n";
echo "</tr>\n";
}
fclose($handle);
echo "</table>\n";
break;
default:
echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\" ";
echo "name=\"form1\" enctype=\"multipart/form-data\">\n";
echo "<input name=\"fichierCSV\" type=\"file\">\n";
echo "<input name=\"mode\" value=\"Envoyer\" type=\"submit\">\n";
echo "</form>\n";
break;
}
?>
</div>
</body>
</html> |