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 :

csv vers base de donnée


Sujet :

PHP & Base de données

  1. #1
    Débutant
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Points : 97
    Points
    97
    Par défaut csv vers base de donnée
    Salut a tous,
    je veux faire une actualisation de ma base de donnée à partir d'une fichier csv.
    Ma probléme que le fichier csv contient des données plus que ceux enregistrés dans ma base.
    donc lorsque mon algorithme parcourit le fichier csv et ne trouve pas une correspondance entre une champs du fichier csv s'arrete.
    par exemple lorsque l'algorithme rencontre l'enregistrement 1200 avec code 12000 et cherche ce code dans la base et ne le trouve pas une erreur se produit .


    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
     
    <?php
    require_once('Connections/yyy.php'); 
     
    $row = 0;
    $handle = fopen("base.csv", "r");
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) 
       {
        $num = count($data);
        $row++;
     
       for ($c=0; $c <2; $c++) 
         {
    	mysql_query("UPDATE `hscode1` SET `OTHER` = '".$data[1]."' WHERE `hscode1`.`code` =".$data[0])or die("erreur de base de données");
          }
     
        }
     
    fclose($handle);
    mysql_close($yyy);
    ?>
    Toute information sera le bien venue et merci d'avance.
    Cordialement,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Controle si l'element existe :
    si oui : update
    si non : insert

  3. #3
    Débutant
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Points : 97
    Points
    97
    Par défaut
    Merci pour votre réponse
    ma problème est comment contrôler l'existence de ce élément ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En faisant un SELECT.

  5. #5
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    Une autre solution consiste à utiliser les commandes MySQL particulières suivantes (en fonction du problème que tu rencontres) :
    1. REPLACE : si l'enregistrement existe déjà, l'ancienne ligne est préalablement supprimée
    2. INSERT ... ON DUPLICATE KEY UPDATE... : mise à jour de certains champs si la clef existe déjà.


    ced

Discussions similaires

  1. Probleme de date dans requete SQL vers base de donnée MS Access
    Par Uren dans le forum Persistance des données
    Réponses: 1
    Dernier message: 04/08/2008, 13h06
  2. [SSIS][2k5] Import depuis XML vers Base de donnée
    Par Sinclair dans le forum SSIS
    Réponses: 4
    Dernier message: 24/01/2008, 11h25
  3. Données Excel vers Base de données
    Par godmich dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/11/2007, 18h23
  4. transfert DataSource vers Base de Données
    Par PadawanDuDelphi dans le forum Bases de données
    Réponses: 6
    Dernier message: 12/09/2006, 11h22
  5. Importation CSV vers base de données
    Par Brice Yao dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/06/2005, 13h42

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