Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 29/11/2011, 01h00   #1
Invité de passage
 
Femme
Inscription : novembre 2011
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : novembre 2011
Messages : 26
Points : 0
Points : 0
Par défaut Pb importation CSV

Bonjour,
Je suis étudiante, j'ai un projet à faire et j'ai un problème concernant l'importation de fichier .CSV vers la base de données MySQL .Voilà mon code :
J'ai fait 2 pages, la première "AjoutPr.php" pour sélectionner le fichier et la page "ajout_produit2.php" pour le traiter :
-AjoutPr.php
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
52
53
54
55
<?php 
mysql_connect("localhost", "root", ""); // Connexion à MySQL 
mysql_select_db("alu"); // Sélection de la base 
?> 
<br><br> 
<form action="ajout_produit2.php" method="post" name="form1" class="Style6" enctype="multipart/form-data"> 
<fieldset ><legend class="Style12">Veuillez saisir les champs suivants:</legend> 
<br><br> 
<table width="600" height="350" border="0"> 
<tr> 
<td><div align="left"><strong>Sélectionnez le borderaux client pour la demande concernée <br/></strong></div></td> 
<td><div align="left"><strong>:</strong></div></td> 
<td> 
<div align="left"> 
<select name="borderaux_client" > 
<?php 
$reponse = mysql_query("SELECT borderaux_client FROM demande"); 
while($donnees=mysql_fetch_array($reponse)) 
{ 
echo"<option>".$donnees['borderaux_client']."</option>"; 
} 
?> 
</select> 
</div></td></tr> 
<tr> 
<td><div align="left"><strong>Sélectionnez le nom du transitaire <br/></strong></div></td> 
<td><div align="left"><strong>:</strong></div></td> 
<td> 
<div align="left"> 
<select name="nom_transitaire" > 
<?php 
$reponse = mysql_query("SELECT nom_transitaire FROM transitaire"); 
while($donnees=mysql_fetch_array($reponse)) 
{ 
echo"<option>".$donnees['nom_transitaire']."</option>"; 
} 
?> 
</select> 
</div></td> 
</tr> 
</table> </fieldset> 
<table width="150" border="1" align="center"> 
<tr> 
<td colspan="2"><strong>Importation</strong></td> 
</tr> 
<tr> 
<td>Fichier:</td> 
<td><input name="userfile" type="file" id="userfile" value=""></td> 
</tr> 
<tr> 
<td> </td> 
<td><input type="submit" name="Submit" value="ET HOP!"> 
</tr> 
</table> 
</form>
-Ajout_produit2.php:
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
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
<?php 
//connection au serveur 
$cnx = mysql_connect( "localhost", "root", "" ) or die("Impossible de se connecter à la base de données"); 
//sélection de la base de données: 
$db = mysql_select_db( "alu" ) or die("Impossible de se connecter à la base de données"); 
//récupération des valeurs des champs: 
$borderaux_client = $_POST["borderaux_client"] ; 
$nom_transitaire = $_POST["nom_transitaire"] ; 
//trouver le nom de projet correspondant à la demande 
$reponse= mysql_query("SELECT projet.nom_projet FROM demande_projet,demande,projet WHERE demande_projet.id_demande=demande.id_demande AND projet.id_projet=demande_projet.id_projet AND demande.borderaux_client='$borderaux_client'")or die(mysql_error()); 
$donnees=mysql_fetch_array($reponse); 
$nom_projet=$donnees['nom_projet']; 
?> 
<br><br> 
<p><strong>Nom projet</strong> :<?php echo $donnees['nom_projet'];?></p> 
<input type="hidden" name="nom_projet" value=<?php echo $donnees['nom_projet'];?>> 
<p> </p><br/> 
<?php 
$req2 = "SELECT statut_demande FROM demande WHERE borderaux_client='".$borderaux_client."'"; 
$result3 = mysql_query($req2) or die('Erreur SQL !'.$req.'<br>'.mysql_error()); 
if ($result_statut = mysql_fetch_array($result3)) 
$statut_demande = $result_statut['statut_demande']; 
if($statut_demande=="En cours") 
{ 
//on importe le fichier à inserer dans sql 
$file=$_FILES["userfile"]["tmp_name"]; 
if (file_exists($file)) 
{ 
$open=fopen($file,"r"); 
} 
else 
{ 
echo "Fichier introuvable !<br>Importation stoppée."; 
exit(); 
} 
while (($fileop=fgetcsv($open,1000,";")) !==false) 
{ 
$num_serie=$fileop[2]; 
$code_article=$fileop[3]; 
$designation=$fileop[1]; 
$reponse1 = mysql_query("SELECT * FROM produit where @num_serie='$num_serie' ")or die( mysql_error() ); 
$i=0; 
while($donnees=mysql_fetch_array($reponse1)) 
{ 
$i=1; 
} 
if($i==0) 
{ 
$req = "SELECT id_projet FROM projet WHERE nom_projet='" . $nom_projet . "'"; 
$result = mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error()); 
if ($result_projet = mysql_fetch_array($result)) 
$id_projet = $result_projet['id_projet']; // récupère id_projet dans le tableau résultat 
$query = "INSERT INTO produit(num_serie,code_article,designation,id_projet)VALUES('$num_serie','$code_article','$designation','$id_projet')"; 
$requete1 = mysql_query($query, $cnx) or die( mysql_error() ) ; 
$req1 = "SELECT id_demande FROM demande WHERE borderaux_client='" . $borderaux_client. "'"; 
$result1 = mysql_query($req1) or die('Erreur SQL !'.$req.'<br>'.mysql_error()); 
if ($result_demande = mysql_fetch_array($result1)) 
$id_demande = $result_demande['id_demande']; // récèpure id_demande dans le tableau résultat 
$sql2 = "INSERT INTO demande_produit (id_demande,num_serie) 
VALUES ('$id_demande','$num_serie')" ; 
$requete2 = mysql_query($sql2, $cnx) or die( mysql_error() ) ; 
$sql3 = "INSERT INTO transit_produit (nom_transitaire,num_serie) 
VALUES ('$nom_transitaire','$num_serie')"; 
$requete3 = mysql_query($sql3, $cnx) or die( mysql_error() ) ; 
//affichage des résultats, pour savoir si l'insertion a marché: 
if($requete1 && $requete2 && $requete3) 
{ 
echo("L'insertion a été correctement effectuée") ; 
} 
else 
{ 
echo("L'insertion a échouée") ; 
} 
} 
else{ 
echo"<SCRIPT language=\"Javascript\"> 
alert(\"Ce produit existe!\"); 
window.location.replace(\"ajout_produit.php\"); 
</SCRIPT>"; 
exit(); 
} 
} 
fclose($open); 
print '<h2>Importation terminée</h2>'; 
} 
else{ 
echo"<SCRIPT language=\"Javascript\"> 
alert(\"Cette demande est déjà close !\"); 
window.location.replace(\"AjoutPr.php\"); 
</SCRIPT>"; 
} 
?>
et Quand j’exécute voilà l'erreur que j'ai:
"Incorrect string value: '\xB0 de S...' for column 'Num_serie' at row 1"
Merci d'avance ^^
J'attends vos suggestions impatiemment

Bonne journée
angelina88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 13h42   #2
Futur Membre du Club
 
Inscription : septembre 2009
Messages : 36
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 36
Points : 15
Points : 15
Peux tu nous donner un exemple de fichier CSV stp ? et tu la créer comment ton CSV ?


Merci
steven78700 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 02h24   #3
Invité de passage
 
Femme
Inscription : novembre 2011
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : novembre 2011
Messages : 26
Points : 0
Points : 0
Par défaut pb importation CSV

Merci de m'avoir répondu concernant mon fichier CSV je l'ai obtenu tout simplement en enregistrant mon fichier excel sous CSV.Vous pouvez uploader le fichier en question de l'adresse suivante http://dl.free.fr/lZ3T9l20a.

Merci pour votre comprehension
angelina88 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 00h18.


 
 
 
 
Partenaires

Hébergement Web