Je bloque pour importer Importer automatiquement un fichier cvs dans ma table Phpmyadmin
J'aurai besoin d'aide car je suis bloquer dans mon projet et surtout faire la manip à la main me prend bcp de temps.
Voici ma table dan phpmyadmin :
Structure de la table `tfi2003_contacts`
#
DROP TABLE IF EXISTS tfi2003_contacts;
CREATE TABLE tfi2003_contacts (
id_contact int(11) NOT NULL auto_increment,
id_cat int(11) NOT NULL default '0',
societe varchar(128) NOT NULL default '',
titre varchar(64) NOT NULL default '',
nom varchar(128) NOT NULL default '',
prenom varchar(128) NOT NULL default '',
rue varchar(128) NOT NULL default '',
no varchar(16) NOT NULL default '',
cp varchar(8) NOT NULL default '',
localite varchar(128) NOT NULL default '',
region varchar(64) NOT NULL default '',
pays varchar(64) NOT NULL default '',
phone varchar(25) NOT NULL default '',
phone2 varchar(25) NOT NULL default '',
fax varchar(25) NOT NULL default '',
email varchar(255) NOT NULL default '',
website varchar(255) NOT NULL default '',
note longtext NOT NULL,
PRIMARY KEY (id_contact)
) TYPE=MyISAM COMMENT='Table des contacts';
<?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 des sanctions du collège Ponsard****</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>
comment puis-je faire cela automatiquement si c'est possible ?
ou dois-je placer le code ? à quel endroit ?
MERCI POUR VOTRE AIDE CAR j'arrive pas à avancer MERCI
ci-dessus un exemple mais est-il adaptable pour mon cas ???