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

Langage PHP Discussion :

comparer table et csv


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 431
    Par défaut comparer table et csv
    bonjour,

    j'ai inséré les données d'un fichier csv dans ma base de données Mysql.

    pour ne pas tomber dans l'erreur de réinsérer le meme fichier dans la BD...je souhaite comparer le contenu d'une table (champs A) mysql avec la donnée d'une colonne (B) de mon fichier csv

    pour la BD il est evident que ca va etre comme il suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct champs A from matable
    je me demande qu'elle est la syntaxe pour faire la meme requete sur le fichier csv, c'est à dire select distinct colonne B from monfichiercsvMerci par avance

  2. #2
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Hum... Tu peux lire ton fichier csv avec fgetcsv, mettre toutes les valeurs de la colonne qui correspond dans un tableau et ensuite faire un array_unique dessus.
    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]

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 431
    Par défaut
    merci pour ta réponse...je vais essayé ceci...

    sinon comment faire pour ne pas insérer la premiere ligne de mon fichier csv (qui contient les noms de colonnes) dans la table concérnée au niveau de la base de données?

    merci

  4. #4
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Le plus simple, c'est de lire la 1ere ligne à part et ensuite boucler sur le reste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (($handle = fopen("test.csv", "r")) !== FALSE) {
        // lecture de l'entête 
        $entete = fgetcsv($handle, 1000, ",");
        // lecture du reste du fichier
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
            // traitement des lignes
        }
        fclose($handle);
    }
    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]

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 431
    Par défaut
    ok ...merci bcp ..

    sinon, j'ai le petit script suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $requete = @mysql_query("SELECT distinct date FROM matable");
    while ($ligne = mysql_fetch_array($requete))
    {
       echo "ok <br>";						
    }
    le "ok" ne s'affiche pas alors que quand j'excute la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT distinct date FROM matable"
    directement dans la BD => ca m'affiche deux valeurs...

    N.B : pas de probleme à la connexion à la base de données.
    je ne sais pas si vous voyez une anomalie?

  6. #6
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    ta colonne s'appelle vraiment date ? Pasque date, c'est un mot réservé du langage SQL. Du coup, il faudrait l'encadrer par des backquotes ``.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT distinct `date` FROM matable

    Et sinon, retire le @ devant mysql_query par voir si tu n'as pas une erreur.
    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. sql deux champs comparer tables
    Par sami117 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/11/2008, 00h07
  2. Insertion dans tables différents (csv)
    Par pmoury06 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 30/10/2008, 10h58
  3. [phpMyAdmin] Problèmes d'exportation de tables en CSV
    Par seb92500 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 31/10/2006, 10h53
  4. Requete pour comparer tables sur 2 schemas
    Par Kannuki dans le forum Oracle
    Réponses: 28
    Dernier message: 09/02/2006, 14h40
  5. [Paradox] Automatiser l'export de table en CSV
    Par Laurent Dardenne dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/02/2005, 15h16

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