KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Samedi 17 mai 2008 - 18:15:45

Importer tables en CSV dans phpmyadmin

Rechercher : dans
importer tables en CSV dans phpmyadmin
par lol
 Fil de Discussions
Statut : Non résolu
mercredi 24 août 2005 à 09:39:03
Bonjour,
J'ai enregistré le resultset d'une table en *.CSV que j'ai récupéré sur un server sur le net, et je voudrais l'importer en table dans ma base existante sur phpmyadmin.
Qqun peut-il me dire comment m'y prendre ?
En vous remerciant
Répondre à lol  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par StreM, le mercredi 24 août 2005 à 09:45:16 Fil de Discussions
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.
Moins le blanc est intelligent, plus le noir lui parait bête
Répondre à StreM

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lol, le mercredi 24 août 2005 à 10:16:56 Fil de Discussions
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
Répondre à lol

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par kuslargibi, le jeudi 30 août 2007 à 00:09:46 Fil de Discussions 
// ****************************************************************** *
// ******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
Configuration: Windows XP
Firefox 2.0.0.6
Répondre à kuslargibi
Discussions pertinentes trouvées dans le forum
05/11 15h31Programme vbsur importation fichiers CSVProgrammation05/11 15h310
30/07 21h34import fichier .csv automatique sur accessWindows30/07 21h340
10/07 09h21[ACCESS] Pb Import Tables !!Programmation10/07 10h252
13/06 09h50Importation fichier csv dans mysql (php)Programmation30/08 00h291
Plus de discussions sur « importer tables en CSV dans phpmyadmin » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide