A voir également:
- Importer tables en CSV dans phpmyadmin
- Importer favoris chrome - Guide
- Importer agenda outlook dans google - Guide
- Tables des matières word - Guide
- Importer favoris firefox - Guide
- Importer contact carte sim - Guide
7 réponses
// ****************************************************************** *
// ******Lire un csv et l'importer dans la base de donnée *
// ******2 fichiers nécessaires : formulaire.php et ajouter.php *
// *********l'un pour choisir le fichier csv et l'autre pour *
// ***************enregistrer dans la bdd *
**** le fichier csv doit etre du type ci dessous *
*** link,email *
*** www.mafonction.com,axel@tueslemeilleur.com *
*** www.csvfacile.com,csv@insert.com *
///************************************************************ *********
//formulaire.php
<form action="ajouter.php" method="post" enctype="multipart/form-data" name="form1">
<p><input type="file" name="file" /></p>
<input type="submit" name="Submit" value="Submit">
</form>
________________________________________________
//ajouter.php
//lire un csv et ajouter le couple email,url dans la base de donnee
if (isset($_FILES['file'])) {
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file,'r');
$row = 1;
$handle = fopen("$file", "r");
while (($data = fgetcsv($handle, 4096, ",")) !== FALSE) {
$num = count($data);
//echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
//je met les donnees en miniscule et detecte si l'email est dans la colonne 0 ou 1
//meme chose pour l'url
//je les transformes en miniscule
$data[1]=strtolower($data[1]);
$data[0]=strtolower($data[0]);
//je controle l'entete du csv
if ($data[1]=='emails' && $data[0] == 'links' ) $mode=1 ;
if ($data[1]=='email' && $data[0] == 'link' ) $mode=1 ;
if ($data[1]=='email' && $data[0] == 'links' ) $mode=1 ;
if ($data[1]=='emails' && $data[0] == 'link' ) $mode=1 ;
////meme chose pour le mode 2 il faut changer $data[0] par $data[1]
///c'est à dire si l'on souhaite avoir email,link, il faut recopier le
///meme code et changer tous les $data[0] par $data[1] et $data[1] par $data[0]
}
if ($mode==1)
{
//je controle l'email
$avant_arobase = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';
$nomdudomaine = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)';
$caract_allow_before_arobase = '/^' . $atom . '+' .
'(\.' . $avant_arobase . '+)*' .
'@' .
'(' . $nomdudomaine . '{1,63}\.)+' .
$domain . '{2,63}$/i';
// test de l'adresse e-mail
if (preg_match($caract_allow_before_arobase, $data[1])) {
}
else
{
$data[1] = NULL ;
}
$data[1]=strtolower($data[1]);
$data[0]=strtolower($data[0]);
//je controle tous les donnees s'il s'agit bien d'un url et d'un email
///dans le cas contraire, ils seront filtrées
$point = strpos($data[0],".");
if($point=='')
{
$data[0]=NULL;
}
$point = strpos($data[0],"@");
if($point=='')
{
$data[0]=$data[0];
}
else
{
$data[0]=NULL;
}
if ( $data[1] != NULL && $data[0] != NULL )
{
$numberdownload=$numberdownload+1;
$marequete = "INSERT INTO matable SET
monurl ='$data[0]' ,
monemail ='$data[1]'
";
$resultat=mysql_query ($marequete) or die (mysql_error());
}
}
}
//if ( $resultat ){ echo "<p> insertion with Succesfully </p> <p>
//" ;
//si des adresses ont ete enregistrer
if ($numberdownload>0){
echo " <p>You have downloaded $numberdownload combinaisons </p>";
echo "<p>The list Id is : $rowIdListNext </p>";
}
///si aucune adresse a ete enregistrer
if ($existadresse==0 && $numberdownload==0)
{
echo " <p> Error .. Your Csv file has a problem.</p>";
echo " <p> Please notice that your csv file has a header</p>";
}
//si les adresses existe deja
if ($existadresse>0 )
{
echo " <p>$existadresse combinaisons already exist! </p>";
}
//renvoie à la page qui a valider le formulaire...c'est à dire vers formulaire.php
$departure=$_SERVER['HTTP_REFERER'];//recover the adress which the user come from
echo "<meta HTTP-EQUIV=\"Refresh\" content=\"5;URL=$departure \"> " ;
Configuration: Windows XP
Firefox 2.0.0.6
// ******Lire un csv et l'importer dans la base de donnée *
// ******2 fichiers nécessaires : formulaire.php et ajouter.php *
// *********l'un pour choisir le fichier csv et l'autre pour *
// ***************enregistrer dans la bdd *
**** le fichier csv doit etre du type ci dessous *
*** link,email *
*** www.mafonction.com,axel@tueslemeilleur.com *
*** www.csvfacile.com,csv@insert.com *
///************************************************************ *********
//formulaire.php
<form action="ajouter.php" method="post" enctype="multipart/form-data" name="form1">
<p><input type="file" name="file" /></p>
<input type="submit" name="Submit" value="Submit">
</form>
________________________________________________
//ajouter.php
//lire un csv et ajouter le couple email,url dans la base de donnee
if (isset($_FILES['file'])) {
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file,'r');
$row = 1;
$handle = fopen("$file", "r");
while (($data = fgetcsv($handle, 4096, ",")) !== FALSE) {
$num = count($data);
//echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
//je met les donnees en miniscule et detecte si l'email est dans la colonne 0 ou 1
//meme chose pour l'url
//je les transformes en miniscule
$data[1]=strtolower($data[1]);
$data[0]=strtolower($data[0]);
//je controle l'entete du csv
if ($data[1]=='emails' && $data[0] == 'links' ) $mode=1 ;
if ($data[1]=='email' && $data[0] == 'link' ) $mode=1 ;
if ($data[1]=='email' && $data[0] == 'links' ) $mode=1 ;
if ($data[1]=='emails' && $data[0] == 'link' ) $mode=1 ;
////meme chose pour le mode 2 il faut changer $data[0] par $data[1]
///c'est à dire si l'on souhaite avoir email,link, il faut recopier le
///meme code et changer tous les $data[0] par $data[1] et $data[1] par $data[0]
}
if ($mode==1)
{
//je controle l'email
$avant_arobase = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';
$nomdudomaine = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)';
$caract_allow_before_arobase = '/^' . $atom . '+' .
'(\.' . $avant_arobase . '+)*' .
'@' .
'(' . $nomdudomaine . '{1,63}\.)+' .
$domain . '{2,63}$/i';
// test de l'adresse e-mail
if (preg_match($caract_allow_before_arobase, $data[1])) {
}
else
{
$data[1] = NULL ;
}
$data[1]=strtolower($data[1]);
$data[0]=strtolower($data[0]);
//je controle tous les donnees s'il s'agit bien d'un url et d'un email
///dans le cas contraire, ils seront filtrées
$point = strpos($data[0],".");
if($point=='')
{
$data[0]=NULL;
}
$point = strpos($data[0],"@");
if($point=='')
{
$data[0]=$data[0];
}
else
{
$data[0]=NULL;
}
if ( $data[1] != NULL && $data[0] != NULL )
{
$numberdownload=$numberdownload+1;
$marequete = "INSERT INTO matable SET
monurl ='$data[0]' ,
monemail ='$data[1]'
";
$resultat=mysql_query ($marequete) or die (mysql_error());
}
}
}
//if ( $resultat ){ echo "<p> insertion with Succesfully </p> <p>
//" ;
//si des adresses ont ete enregistrer
if ($numberdownload>0){
echo " <p>You have downloaded $numberdownload combinaisons </p>";
echo "<p>The list Id is : $rowIdListNext </p>";
}
///si aucune adresse a ete enregistrer
if ($existadresse==0 && $numberdownload==0)
{
echo " <p> Error .. Your Csv file has a problem.</p>";
echo " <p> Please notice that your csv file has a header</p>";
}
//si les adresses existe deja
if ($existadresse>0 )
{
echo " <p>$existadresse combinaisons already exist! </p>";
}
//renvoie à la page qui a valider le formulaire...c'est à dire vers formulaire.php
$departure=$_SERVER['HTTP_REFERER'];//recover the adress which the user come from
echo "<meta HTTP-EQUIV=\"Refresh\" content=\"5;URL=$departure \"> " ;
Configuration: Windows XP
Firefox 2.0.0.6
StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
124
24 août 2005 à 09:45
24 août 2005 à 09:45
Un fichier CSV n'est rien d'autre qu'un fichier texte. tous les champs de la base sont séparés par un séparateur (habituellement ; ).
Dans phpmyadmin, tu va dans ta table, tu fais inserer, tout en bas de la page :
"Insérer des données provenant d'un fichier texte dans la tableInsérer des données provenant d'un fichier texte dans la table"
Tu devrais te debrouiller apres.
Dans phpmyadmin, tu va dans ta table, tu fais inserer, tout en bas de la page :
"Insérer des données provenant d'un fichier texte dans la tableInsérer des données provenant d'un fichier texte dans la table"
Tu devrais te debrouiller apres.
J'ai essayé ce que tu m'as dit en créant d'abord ma table, voici ce que phpmyadmin répond :
LOAD DATA LOCAL INFILE 'D:\\Program Files\\EasyPHP1-7\\tmp\\phpD5.tmp' REPLACE INTO TABLE `prod`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
MySQL a répondu:
#1148 - Cette commande n'existe pas dans cette version de MySQL
LOAD DATA LOCAL INFILE 'D:\\Program Files\\EasyPHP1-7\\tmp\\phpD5.tmp' REPLACE INTO TABLE `prod`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
MySQL a répondu:
#1148 - Cette commande n'existe pas dans cette version de MySQL
Pour importer des données d'une table exemple.xls vers Mysql, procédez comme suit :
Tout d'abord créer votre base de donnée mysql
1- Ouvrir le fichier exemple.xls et enregistrez le sous exemple.csv
2- Enregistrer le fichier exemple.csv sous exemple.txt
3- Enlever les nom des champs du fichier exemple.txt et enregistrer le, sur votre bureau par exemple
4- Aller sur PhpmyAdmin et ouvrir votre base de donnée
5- Créer une table dans laquelle vous souhaitez Insérer les données provenant de votre fichier texte (exemple.txt). Le nombre du champs de cette table doit etre le même que celui du champs de table exemple.txt ou xls.
6- Dans phpmyadmin, tu va dans ta table, tu clique sur le lien « Insérer des données provenant d'un fichier texte dans la table », un lien tout en bas de la page :
Tu devrais te debrouiller apres. Le fichier a inserer est exemple.txt
Tout d'abord créer votre base de donnée mysql
1- Ouvrir le fichier exemple.xls et enregistrez le sous exemple.csv
2- Enregistrer le fichier exemple.csv sous exemple.txt
3- Enlever les nom des champs du fichier exemple.txt et enregistrer le, sur votre bureau par exemple
4- Aller sur PhpmyAdmin et ouvrir votre base de donnée
5- Créer une table dans laquelle vous souhaitez Insérer les données provenant de votre fichier texte (exemple.txt). Le nombre du champs de cette table doit etre le même que celui du champs de table exemple.txt ou xls.
6- Dans phpmyadmin, tu va dans ta table, tu clique sur le lien « Insérer des données provenant d'un fichier texte dans la table », un lien tout en bas de la page :
Tu devrais te debrouiller apres. Le fichier a inserer est exemple.txt
danbiz
Messages postés
3
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
7 juin 2010
1
7 juin 2010 à 07:40
7 juin 2010 à 07:40
Dans phpmyadmin
selection de ta BD
onglet -> import
choisir le fichier
et go
c'est tout
selection de ta BD
onglet -> import
choisir le fichier
et go
c'est tout
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour, je n'arrive pas a importer mon fichier csv dans phpmyadmin et je ne comprend pas comment faire (même avec ce que vous avez écris)
Pouvez vous m'aider?
Pouvez vous m'aider?
1 févr. 2009 à 05:27
cela m'a vraiment aider.