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 averti
    Femme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 26
    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 Expert 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 : 41
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    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....

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