IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

problèmes importation .csv vers MySQL


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 26
    Points : 12
    Points
    12
    Par défaut problèmes importation .csv vers MySQL
    Bonjour,
    Je suis étudiante, j'ai un projet à faire et j'ai un probleme concernant l'importation de fichier .CSV vers la base de données MySQL .Voilà mon code :
    J'ai fait 2 pages la premiere "AjoutPr.php" pour selectionner le fichier et la page "ajout_produit2.php" pour le traiter :

    -AjoutPr.php
    "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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'execute voilà l'erreur que j'ai:
    "Incorrect string value: '\xB0 de S...' for column 'Num_serie' at row 1"
    Mercii d'avance ^^ J'attends vos suggestions impatiemment
    Bonne journée

  2. #2
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Citation Envoyé par angelina88 Voir le message
    Quand j'execute voilà l'erreur que j'ai:
    "Incorrect string value: '\xB0 de S...' for column 'Num_serie' at row 1"
    Quelle est le type de la colonne num_serie de la table produit?

    D'après le nom, j'dirais un int.... Du coup tu essaies d'insérer un String dans une colonne int....
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

Discussions similaires

  1. [CSV] import excel vers mysql
    Par tonin10 dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2009, 10h10
  2. [MySQL] Importation données csv vers mysql via php
    Par ariel257 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/06/2008, 16h56
  3. Import d'un CSV vers MySql
    Par alias666 dans le forum C#
    Réponses: 8
    Dernier message: 22/01/2008, 10h13
  4. Importation d'un fichier .csv vers MySQL
    Par xenos dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/08/2007, 10h19
  5. [Conseil] Import de fichier CSV vers MySQL
    Par ShinJava dans le forum JDBC
    Réponses: 6
    Dernier message: 15/03/2005, 19h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo