Probleme importation CSV vers ma base de données

lalimanal Messages postés 2 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 10 décembre 2011 - 9 déc. 2011 à 14:41
lalimanal Messages postés 2 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 10 décembre 2011 - 10 déc. 2011 à 12:14
Bonjour,
J'ai un problème d'insertion de mon fichier d'extension .CSV dans plusieurs tables... J'ai essayé de résoudre ça mais en vain :/

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

1 réponse

lalimanal Messages postés 2 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 10 décembre 2011
10 déc. 2011 à 12:14
J'ai essayé de faire ce code comme test pour les 3 colonnes de csv mais ça marche pas :


<?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'];  
?>  

  
 Nom projet  :<?php echo $donnees['nom_projet'];?>

  
>  

  
<?php  

$req2  = "SELECT statut_demande FROM demande WHERE borderaux_client='".$borderaux_client."'";  
$result3 = mysql_query($req2) or die('Erreur SQL !'.$req.'
'.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 !
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.'
'.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.'
'.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 'Importation terminée
';  
}  
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
0
Rejoignez-nous