La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  problrmr importation csv vers mysql
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: problrmr importation csv vers mysql  (Lu 829 fois)
problrmr importation csv vers mysql
« sur: le 10-12-2011 a 12:29:16 »
angelina88
Membre récent
*

Hors-Ligne

Messages: 2





Voir le Profil
Répondre avec citation

J'ai essayé de faire ce code comme test pour les 3 colonnes de csv mais ça marche pas :
Code:

<?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'];?>> 
<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'execute voilà l'erreur que j'ai:
"Incorrect string value: '\xB0 de S...' for column 'Num_serie' at row 1"
Ils m'ont dit de travailler avec une boucle de deux dimensions pour lire le fichier et l'inserer dans ma base de données mais je sais pas comment!!

et la deuxieme chose c'est que je sais pas comment inserer dans plusieurs table avec ce que mon fichier csv contient de colonnes.


merci d'avance
Code:
Code:
Code:
Code:

Rapporter au modérateur  

Re:problrmr importation csv vers mysql
« Répondre #1 sur: le 10-12-2011 a 12:33:25 »
angelina88
Membre récent
*

Hors-Ligne

Messages: 2





Voir le Profil
Répondre avec citation

Voilà les tables de ma base de données: 
Code:

-- 

-- -------------------------------------------------------- 

-- 
-- Structure de la table `demande` 

CREATE TABLE IF NOT EXISTS `demande` ( 
`id_demande` int(11) NOT NULL auto_increment, 
`Borderaux_client` varchar(200) character set ascii default NULL, 
`Statut_Demande` varchar(50) character set ascii default NULL, 
`Ref_dossier` varchar(200) character set ascii default NULL, 
`Date_facture` varchar(50) character set ascii default NULL, 
PRIMARY KEY (`id_demande`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=22 ; 



-- -------------------------------------------------------- 

-- 
-- Structure de la table `demande_produit` 
-- 

CREATE TABLE IF NOT EXISTS `demande_produit` ( 
`id_demande` int(11) NOT NULL auto_increment, 
`Num_serie` varchar(50) character set ascii NOT NULL, 
`RMA` varchar(200) character set ascii default NULL, 
`Date_entee` varchar(50) character set ascii default NULL, 
`Date_retour` varchar(50) character set ascii default NULL, 
`Date_livraison` varchar(50) character set ascii default NULL, 
`Delai_general` varchar(50) character set ascii default NULL, 
PRIMARY KEY (`id_demande`,`Num_serie`), 
KEY `FK_demande_produit_Num_serie` (`Num_serie`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 




-- -------------------------------------------------------- 

-- 
-- Structure de la table `demande_projet` 
-- 

CREATE TABLE IF NOT EXISTS `demande_projet` ( 
`id_projet` int(11) NOT NULL, 
`id_demande` int(11) NOT NULL, 
`Date_demande_projet` varchar(20) character set ascii default NULL, 
PRIMARY KEY (`id_projet`,`id_demande`), 
KEY `FK_Demande_projet_id_demande` (`id_demande`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 


-- -------------------------------------------------------- 

-- 
-- Structure de la table `produit` 
-- 

CREATE TABLE IF NOT EXISTS `produit` ( 
`Num_serie` varchar(50) character set ascii NOT NULL, 
`Code_article` varchar(50) character set ascii default NULL, 
`Techno` varchar(200) character set ascii default NULL, 
`Designation` varchar(200) character set ascii default NULL, 
`Situation` varchar(40) character set ascii default NULL, 
`Remarques` varchar(50) character set ascii default NULL, 
`id_projet` int(11) NOT NULL, 
PRIMARY KEY (`Num_serie`), 
KEY `FK_Produit_id_projet` (`id_projet`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 



-- -------------------------------------------------------- 

-- 
-- Structure de la table `projet` 
-- 

CREATE TABLE IF NOT EXISTS `projet` ( 
`id_projet` int(11) NOT NULL auto_increment, 
`Client` varchar(40) character set ascii default NULL, 
`Nom_projet` varchar(200) character set ascii default NULL, 
`Chef_de_Projet` varchar(200) character set ascii default NULL, 
`Statut` varchar(40) character set ascii default NULL, 
`OTP` varchar(40) character set ascii default NULL, 
PRIMARY KEY (`id_projet`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ; 


-- -------------------------------------------------------- 

-- 
-- Structure de la table `transitaire` 
-- 

CREATE TABLE IF NOT EXISTS `transitaire` ( 
`nom_transitaire` varchar(50) character set ascii NOT NULL, 
`contact_info` varchar(20) character set ascii default NULL, 
PRIMARY KEY (`nom_transitaire`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

-- -------------------------------------------------------- 

-- 
-- Structure de la table `transit_produit` 
-- 

CREATE TABLE IF NOT EXISTS `transit_produit` ( 
`nom_transitaire` varchar(50) character set ascii NOT NULL, 
`Num_serie` varchar(50) character set ascii NOT NULL, 
`Date_transitaire` varchar(50) character set ascii default NULL, 
`Date_arrivee_France` varchar(50) character set ascii default NULL, 
`Delai_export` varchar(50) character set ascii default NULL, 
`Date_depart_France` varchar(50) character set ascii default NULL, 
`Delai_import` varchar(50) character set ascii default NULL, 
PRIMARY KEY (`nom_transitaire`,`Num_serie`), 
KEY `FK_Transit_produit_Num_serie` (`Num_serie`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
-------------------------------------------------------------------- 

****Pour mon fichier CSV il a les colonnes suivantes: 
techno,num_serie,code_article,date_entree,date_facture,date_transitaire,date_arrivee_france,date_depart_france,delai_export,date_retour,date_livraison,delai_import,delai_general,remarques

*** Voilà plus claire concernant mon fichier CSV je vais écrire table.colonne pour savoir pour chaque colonne de la table la colonne du csv correspondante: 

produit.techno,produit.num_serie,produit.code_article,demande_produit.date_entree,demande.date_facture,transit_produit.date_transitaire,transit_produit.date_arrivee_france,transit_produit.date_depart_france,transit_produit.delai_export,demande_produit.date_retour,demande_produit.date_livraison,transit_produit.delai_import,demande_produit.delai_general,produit.remarques

Merci pour votre comprehension

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg