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 :

Comparer des données de mes fichiers et de ma base de données


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2017
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2017
    Messages : 81
    Points : 52
    Points
    52
    Par défaut Comparer des données de mes fichiers et de ma base de données
    Bonjour,

    J'ai un dossier où arrive de nouveaux fichiers toutes les 24h.

    Ces fichiers ont comme nom le nom du client.

    Dans ces fichiers il y a des données clients qui sont toujours sous la même forme :
    exemple :
    Le fichier Dupuis.json

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    { "Base":[ { "Nom":"DUPUIS", "PRENOM":"JULIEN", "TYPE":"H", "PROFESSION":"" } ] }
    Tous les matins, je dois regarder dans mon dossier si j'ai de nouveaux fichiers.
    Si j'ai de nouveaux fichiers je dois regarder si le nom de mon fichier n'existe pas dans ma table "C_CLIENT" champ "NOM".
    Si le nom du client existe déjà alors je dois faire un update des données dans ma table "C_CLIENT".
    Si le nom du client n'existe pas, alors je dois faire un insert des données dans ma table "C_CLIENT".

    Une fois les données copiées dans ma base de données je dois déplacer le fichier dans le dossier "ARCHIVE".

    Voici ce que j'ai fais pour le moment mais je bloque, je n'arrive pas à comparer mon nom de fichier avec ce qu'il y a dans la base.
    Quand j'exécute le code, je vois seulement le contenu de mon dossier et je n'arrive pas à me connecter à ma base de données.

    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
     
    <?php
     
    //Je liste les fichiers contenus dans mon répertoire
    $d = dir("C:\Users\moi\Desktop\client");
    echo "Pointeur: ".$d->handle."<br>\n";
    echo "Chemin: ".$d->path."<br>\n";
    while($entry = $d->read()) {
        echo $entry."<br>\n";
    //Je regarde si le client existe dans la bdd
    $cli = explode(".", $entry);
    }
     
    $db=new PDO('mysql:host=sServeur;dbname=MaBase;charset=utf8', 'root', 'root');
    $query=$db->prepare('SELECT NOM FROM C_CLIENT WHERE NOM = :cli[0]');
    $query->execute();
    $data=$query->fetch();
     
     
     
    // on recupere le resultat sous forme d'un tableau
    $data = mysql_fetch_array($data);
     
    mysql_free_result ($data);
    $query->CloseCursor();
     
    ?>
    Ps : Je débute en php

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut;

    englobe l'ouverture de ta connexion dans une syntaxe try { ... } catch (Exception $e) { ... } et vois exactement le message d'erreur
    Quelque chose de cet acabit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    try {
        $db = new PDO(/* ta chaine de connexion ici */);
    } catch (Exception $e) {
        echo $e->code.' - '.$e->message;
        exit;
    }
    Si tu utilises PDO, les fonctions mysql_xxx n'ont rien à faire ici.
    Inspire toi directement de la doc ici

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    A noter que PDO est par défaut en mode "erreur silencieuse". Si tu veux avoir des PdoException, il faut le préciser au niveau de la connexion. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $pdo = new PDO('mysql:host=localhost;port=3306;dbname=ma_base;charset=utf8','root', '', [
                PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_EMULATE_PREPARES   => false
                ]);
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2009, 17h09
  2. Comparer des données et calculer la différence
    Par sebing dans le forum Excel
    Réponses: 3
    Dernier message: 21/05/2008, 14h58
  3. Comparer des données issues d'un même champs
    Par billyman dans le forum Langage SQL
    Réponses: 8
    Dernier message: 12/12/2007, 17h54
  4. comparer des cellules entre 2 fichiers differents
    Par drabmol dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/11/2007, 20h25
  5. [VBA] Comparer des données en excel
    Par Micavk dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/10/2005, 12h26

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