Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/04/2007, 11h45   #1
Membre du Club
 
Inscription : août 2006
Messages : 90
Détails du profil
Informations personnelles :
Localisation : Côte d'Ivoire

Informations forums :
Inscription : août 2006
Messages : 90
Points : 41
Points : 41
Envoyer un message via Skype™ à samsso2006
Par défaut [CSV] exporter des données d'un fichier CSV vers BD Mysql

Bonjour,

je souhaite importer des données d'un fichier CSV vers une bd MySQL.
J'ai écrit un script PHP malheureusement aucun enrégistrement se fait dans la BD lorsque j'éxécute mon script.

Citation:
Il est impossible d'uploader un fichier csv sur le forum de developpez.net alors je vous donne un lien sur lequel vs pourrez telecharger mon fichier csv dont je veux extraire les données: http://tresor.amast.org/export.csv
Je vous fourni maintenant le script que j'utilise:
Code :
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
<?
// table inventaire dans ma base avec 8 champs, id_inv(int 30), titre(varchar 100),auteur(varchar 50), date_creation(varchar 50),localisation(varchar 30),statut_admin(varchar 150),rep_img(text),techniques(varchar 30) .
// ensuite grace à la fonction ci-dessous, j' insère le fichier qu'on a chargé sur // le serveur bien sur.
 
//***************************************************
// Lecture et insertion du fichier export.csv
//**********************************************
 
function LireFichier()
{
 $sqllink=mysql_connect ("localhost","root","") or die ("Impossible de se connecter à la base de donnée");
 mysql_select_db("inventaire");
 
 $filename="export.csv"; // mettez le nom de votre fichier
// ouverture du fichier 
$fd = fopen( $filename, "r");
//Tant qu'on est pas à la fin
 while (!feof($fd)) {
     // on lit le fichier
    $buffer = fgets($fd,1000);
     // on découpe la chaine lue dans un tableau
    $name=explode(",",$buffer);
// on enlève les " (on peut faire un boucle for pour éviter les 7lignes)
    $name[0]=str_replace("\"","",$name[0]);//id_inv
	//$name[0]= addslashes($name[0]);
    $name[1]=str_replace("\"","",$name[1]);//titre
	//$name[1]= addslashes($name[1]);
	$name[2]=str_replace("\"","",$name[2]);//auteur
	//$name[2]= addslashes($name[2]);
	$name[3]=str_replace("\"","",$name[3]);//date_creation
	//$name[3]= addslashes($name[3]);
    $name[4]=str_replace("\"","",$name[4]);//localisation
	//$name[4]= addslashes($name[4]);
	$name[5]=str_replace("\"","",$name[5]);//statut_admin
	//$name[5]= addslashes($name[5]);
	$name[6]=str_replace("\"","",$name[6]);//rep_img
	//$name[6]= addslashes($name[6]);
	$name[7]=str_replace("\"","",$name[7]);//techniques
	//$name[7]= addslashes($name[7]);
 
	//echo $name[2]."<br/>";
	// on insère les valeurs dans la base
	mysql_query ("INSERT INTO inventorier(id_inv, titre, auteur, date_creation, localisation, statut_admin, rep_img, techniques) values ('".$name[0]."','".$name[1]."','".$name[2]."','".$name[3]."','".$name[4]."','".$name[5]."','".$name[6]."','".$name[7]."')",$sqllink) or die("impossible d'enrégistrer");
  }
  fclose ($fd);
mysql_close($sqllink);  //On ferme la connexion à la base de données  
 
}
 
 
?>

Merci pour votre precieuse aide.
samsso2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 12h08   #2
Membre confirmé
 
Inscription : avril 2007
Messages : 254
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 254
Points : 262
Points : 262
Ce que je faits c'est (quelque chose comme):
Code :
1
2
3
4
5
6
7
8
9
10
11
 
$pBase = "inventaire";
if (!mysql_select_db ($pBase, $sqllink)) 
{
	print("Acces to the base ".$pBase." impossible\n");
	print("<B>Message of MySQL :</B> " . mysql_error($sqllink));
	$sqllink = false;
}
if($sqllink)
{
...
Ouach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2007, 22h25   #3
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 40
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 40
Points : 36
Points : 36
Par défaut erreur script

à mon avis çà vient de mysql_select_db("inventaire"), il manque le paramètre de connexion.
deruyter est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h02.


 
 
 
 
Partenaires

Hébergement Web