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 :

Exporter le contenu d'un champ email dans un fichier csv [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Exporter le contenu d'un champ email dans un fichier csv
    Bonjour,

    je pense que cela ne doit pas être compliqué, mais n'étant pas un pro en développement PHP, je n'arrive pas à faire exactement ce que je veux, je m'explique.
    Je souhaite faire l'extraction d'un champ Email_adh de ma base de données MySQL dans un fichier csv ou text, jusque là j'ai su faire, mais mon problème c'est que les adresses apparaissent dans le fichier d'export les unes au dessous des autres. Ce que je souhaiterai, c'est qu'elles soient les unes après les autres séparées par un point-virgule, cela me permettrai de fournir une liste de distribution à mes partenaires.

    Pour information j'utilise la classe "AdoDB" pour la génération du fichier d'export.

    Merci pour toutes l'aides que vous pourrez m'apporter sur le sujet.

  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
    Peux-tu nous montrer ton code ?

    Sinon, que ce soit clair, si tu as 200 emails, tu les veux toutes sur la même ligne ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Hello Sabotage,

    voici le code qui me permet de générer le fichier Email_Adherents.csv, effectivement si j'ai 200 emails je souhaite les avoir sur la même ligne de sorte que je n'ai qu'à les copier-coller dans le zone destinataire d'un mail.
    Comme je l'ai écrit je ne suis pas un pro du PHP et j'espère ne pas me me fourvoyer en mettant le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $requete = "SELECT `email_adh` FROM galette_adherents WHERE galette_adherents.`email_adh` IS NOT NULL and `saison` = '2009-2010'";
            $rs = $DB->Execute($requete);
            $filename="Email_Adherents.csv";
            $fp = fopen($filename, "w");
            $rs->MoveFirst();
            if ($fp) {
            rs2csvfile($rs, $fp); # write to file (there is also an rs2tabfile function)
            fclose($fp);
            }
    Merci de ta promptitude sur ce sujet.

  4. #4
    Membre habitué Avatar de Shinji62
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 135
    Points : 150
    Points
    150
    Par défaut
    Enfaites ce sont 200 mails séparer par ";" :

    en reprenant ta syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $requete = "SELECT `email_adh` FROM galette_adherents WHERE galette_adherents.`email_adh` IS NOT NULL and `saison` = '2009-2010'";
            $rs = $DB->Execute($requete);
            $rs->MoveFirst();
            $emailconcat = "";
           while (!$rs->EOF) {
     
              $emailconcat .= ";".$rs->fields[0];
              $rs->MoveNext();
     
            }
     
    // on affiche et on vire le premier ";"
    echo  substr($emailconcat,1);

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci Shinji62,

    c'est presque génial, mais j'aurais voulu que le resultat soit exporté dans un fichier plûtot qu'affiché sur la page.

    En tout cas merci pour cette avancée, c'est déjà super bien.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Bien, je me réponds à moi-même car c'est bien aussi de chercher un peu pour progresser.
    Voici ce que j'ai fait pour répondre à ma problématique, j'espère que cela pourra aider d'autres personnes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $requete = "SELECT `email_adh` FROM galette_adherents WHERE galette_adherents.`email_adh` IS NOT NULL and `saison` = '2009-2010'";
            $rs = $DB->Execute($requete);
            $rs->MoveFirst();
            $filename="Email_adherents.csv";
            $fp = fopen($filename, "w"); // On ouvre ou créé le fichier
            $emailconcat = "";
           while (!$rs->EOF) {
     
              $emailconcat .= ";".$rs->fields[0];
              $rs->MoveNext();   
            }
    fputs($fp, substr($emailconcat,1)); // on écrit dans le fichier la chaîne avec les emails
    fclose($fp);
    Voilà merci à Shinji62 et Sabotage pour l'aide qu'ils m'ont apporté sur mon développement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Awk: afficher le champ x dans un fichier CSV.
    Par vandman dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 07/11/2014, 00h44
  2. Ecrire un champ email dans un fichier XML utilisant JDOM
    Par pomolo11 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 06/12/2013, 09h54
  3. exporter le contenu d'un champ dans un fichier
    Par maloy dans le forum Administration
    Réponses: 3
    Dernier message: 23/11/2013, 23h23
  4. Réponses: 1
    Dernier message: 15/03/2012, 09h56
  5. Contenu d'un champ tronqué dans mon input box
    Par Marmot dans le forum ASP
    Réponses: 2
    Dernier message: 27/10/2004, 13h30

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