Script import csv
Résolu
kayajiro
Messages postés
61
Statut
Membre
-
kayajiro Messages postés 61 Statut Membre -
kayajiro Messages postés 61 Statut Membre -
Bonjour,
j'ai un petit souci avec mon script php d'importation CSV :
le script fonctionne mais a l'importation les données n'apparaise pas!!!
voici un extrait de mon csv :
NULL,"HP","Envy 4-1260ef","799","uploads/products/HP/ultrabooke-hp-envy-4-1260ef.png","uploads/products/HP/envy1260.png","Intel Core i5-3337U 1,8GHz -< 2.7ghz 3Mo <BR>
Memoire vive 6GO DDR3 <BR>
Intel HD Graphics 4000 partagee<BR>
Ecran 14 pouces 1366 x 768 bright view led<BR>
Disque dur 32 Go mSATA SSD + SATA 500Â Go, 5400Â tr/min <BR>
Lecteur multi carte / Port réseaux / Wifi n / 1 x usb2<BR>
Webcam hd/ HDMI / 2 x usb3 / Beats Audio / bluetooth<BR>
<BR>
WINDOWS 8 64bits<BR>
Autonomie 6h max<BR>
POID : 1.8kg<BR>",,,,,,NULL,,,,,,,"2014-11-12"
EDIT : Ajout des balises de code (jordane)
Merci d'avance
kayajiro
j'ai un petit souci avec mon script php d'importation CSV :
<?php
$connect = mysql_connect("host","user","pass");
mysql_select_db("bdd",$connect);
if ($_FILES[csv][size] > 0) {
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
do {
if ($data[0]) {
mysql_query("INSERT INTO produits2 (idproduit, marques, ref, prix, photo, miniature, processeur, ram, ecran, cartegraph , hdd, lect, divers , divers2, system, garant, poidetautono, fiche, type, date) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."',
'".addslashes($data[3])."',
'".addslashes($data[4])."',
'".addslashes($data[5])."',
'".addslashes($data[6])."',
'".addslashes($data[7])."',
'".addslashes($data[8])."',
'".addslashes($data[9])."',
'".addslashes($data[10])."',
'".addslashes($data[11])."',
'".addslashes($data[12])."',
'".addslashes($data[13])."',
'".addslashes($data[14])."',
'".addslashes($data[15])."',
'".addslashes($data[16])."',
'".addslashes($data[17])."',
'".addslashes($data[18])."',
'".addslashes($data[19])."',
'".addslashes($data[20])."'
)
");
}
} while ($data = fgetcsv($handle,1000,",",'"'));
//
//redirect
header('Location: import.php?success=1'); die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]">
<html xmlns="[http://www.w3.org/1999/xhtml]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Import CSV</title>
</head>
<body>
<?php if (!empty($_GET[success])) { echo "<b>import ok</b><br><br>"; } ?>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
fichier: <br />
<input name="csv" type="file" id="csv" />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
le script fonctionne mais a l'importation les données n'apparaise pas!!!
voici un extrait de mon csv :
NULL,"HP","Envy 4-1260ef","799","uploads/products/HP/ultrabooke-hp-envy-4-1260ef.png","uploads/products/HP/envy1260.png","Intel Core i5-3337U 1,8GHz -< 2.7ghz 3Mo <BR>
Memoire vive 6GO DDR3 <BR>
Intel HD Graphics 4000 partagee<BR>
Ecran 14 pouces 1366 x 768 bright view led<BR>
Disque dur 32 Go mSATA SSD + SATA 500Â Go, 5400Â tr/min <BR>
Lecteur multi carte / Port réseaux / Wifi n / 1 x usb2<BR>
Webcam hd/ HDMI / 2 x usb3 / Beats Audio / bluetooth<BR>
<BR>
WINDOWS 8 64bits<BR>
Autonomie 6h max<BR>
POID : 1.8kg<BR>",,,,,,NULL,,,,,,,"2014-11-12"
EDIT : Ajout des balises de code (jordane)
Merci d'avance
kayajiro
A voir également:
- Script import csv
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
3 réponses
Bonjour,
TU veux dire quoi ?
L'import dans La BDD marche .. mais le message sensé t'indiquer que l'import a été réalisé ne s'affiche pas sur ta page ?
Ou bien.. l'import dans la BDD ne fonctionne pas non plus ?
Déjà.. tu as oublié les QUOTES autour du nom de ta variable à cette ligne :
Doit s'écrire:
Si le souci concerne l'import également.. tu peux déjà faire des ECHO de tes variables (et surtout de ta requête) et regarder si elles sont conformes.
=> Tu lances ton code... tu récupère les requêtes qui vont s'y afficher.. tu les testes en direct dans ta BDD .... tu verras ainsi si elles fonctionnent correctement ..
PS: Si idproduit est bien, comme je le pense, un champ auto-incrémenté.. pas besoin de le mettre... c'est ta BDD qui s'en chargera toute seule.
PS2 : Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
le script fonctionne mais a l'importation les données n'apparaise pas!!!
TU veux dire quoi ?
L'import dans La BDD marche .. mais le message sensé t'indiquer que l'import a été réalisé ne s'affiche pas sur ta page ?
Ou bien.. l'import dans la BDD ne fonctionne pas non plus ?
Déjà.. tu as oublié les QUOTES autour du nom de ta variable à cette ligne :
<?php if (!empty($_GET[success])) { echo "<b>import ok</b><br><br>"; } ?>
Doit s'écrire:
<?php if (!empty($_GET['success'])) { echo "<b>import ok</b><br><br>"; } ?>
Si le souci concerne l'import également.. tu peux déjà faire des ECHO de tes variables (et surtout de ta requête) et regarder si elles sont conformes.
//Création de la requête $sql = "INSERT INTO produits2 ( marques, ref, prix, photo, miniature, processeur, ram, ecran, cartegraph , hdd, lect, divers , divers2, system, garant, poidetautono, fiche, type, date) VALUES ( '".addslashes($data[1])."', '".addslashes($data[2])."', '".addslashes($data[3])."', '".addslashes($data[4])."', '".addslashes($data[5])."', '".addslashes($data[6])."', '".addslashes($data[7])."', '".addslashes($data[8])."', '".addslashes($data[9])."', '".addslashes($data[10])."', '".addslashes($data[11])."', '".addslashes($data[12])."', '".addslashes($data[13])."', '".addslashes($data[14])."', '".addslashes($data[15])."', '".addslashes($data[16])."', '".addslashes($data[17])."', '".addslashes($data[18])."', '".addslashes($data[19])."', '".addslashes($data[20])."' ) "; // Affichage de la requête echo "<pre> REQUETE : <br>".$sql."</pre>"; //Lancement de la requête mysql_query($sql) or die(mysql_error());;
=> Tu lances ton code... tu récupère les requêtes qui vont s'y afficher.. tu les testes en direct dans ta BDD .... tu verras ainsi si elles fonctionnent correctement ..
PS: Si idproduit est bien, comme je le pense, un champ auto-incrémenté.. pas besoin de le mettre... c'est ta BDD qui s'en chargera toute seule.
PS2 : Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
kayajiro
Messages postés
61
Statut
Membre
jordane45 merci beaucoup sa fonctionne très bien! !!