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 :

Suppression derniere colonne csv lors de l'export [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut Suppression derniere colonne csv lors de l'export
    Slt à tous,
    petit souci lors de l'export en fichier csv.
    c'est un petit script que j'ai trouvé sur le net et qui fait son boulot.
    Mon seul souci c'est qu'il inclus toutes les colonnes de la requête dans le fichier csv, alors que moi je voudrais que cela en export que certaines.

    bout de code :
    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
     
    // la variable qui va contenir les données CSV
    $outputCsv = '';
     
    // Nom du fichier final
    $fileName = 'export-email.csv';
     
    $requete = "SELECT mail,letter FROM tbl_user WHERE letter='oui' ORDER BY mail";
    $sql = mysql_query($requete);
    if(mysql_num_rows($sql) > 0)
    {
        $i = 0;
     
        while($Row = mysql_fetch_assoc($sql))
        {
            $i++;
     
            // Si c'est la 1er boucle, on affiche le nom des champs pour avoir un titre pour chaque colonne
            if($i == 1)
            {
                foreach($Row as $clef => $valeur)
                    $outputCsv .= trim($clef).';';
     
                $outputCsv = rtrim($outputCsv, ';');
                $outputCsv .= "\n";
            }
     
            // On parcours $Row et on ajout chaque valeur à cette ligne
            foreach($Row as $clef => $valeur)
                $outputCsv .= trim(utf8_decode($valeur)).';';
     
            // Suppression du ; qui traine à la fin
            $outputCsv = rtrim($outputCsv, ';');
     
            // Saut de ligne
            $outputCsv .= "\n";
     
        }
     
    }
    else
        exit('Aucune donnée à enregistrer.');
    dans mon exemple il va donc importer en CSV la colonne mail et la colonne letter.

    Moi, je voudrais qu'il importe uniquement la colonne mail.

    je ne vois pas trop comment faire, un petit coup de main serait le bienvenue.

    Merci d'avance.
    @+

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    je voudrais qu'il importe uniquement la colonne mail.
    Retire le champ letter du SELECT.

  3. #3
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    ben non justement car j'en ai besoin dans la requête pour trier mes mail

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par spawns Voir le message
    ben non justement car j'en ai besoin dans la requête pour trier mes mail
    Pas besoin que le champ soit dans le SELECT pour pouvoir faire un tri dessus.

  5. #5
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    ok nikel,
    j'ignorais pour le select
    Merci

    @+

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Ton CSV est incorrect, utilise fputcsv

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

Discussions similaires

  1. Comment ne pas perdre les "0" lors d'un export en CSV
    Par olivier131 dans le forum Excel
    Réponses: 8
    Dernier message: 02/03/2017, 12h54
  2. [DisplayTag] exclure une colonne lors de l'exportation du tableau
    Par rolls dans le forum Taglibs
    Réponses: 0
    Dernier message: 15/03/2013, 15h12
  3. Réponses: 7
    Dernier message: 30/11/2011, 11h51
  4. [DisplayTag] Modifier le séparateur lors de l'export CSV
    Par ahlem83 dans le forum Taglibs
    Réponses: 2
    Dernier message: 21/10/2011, 16h18
  5. Probleme de lenteur lors de l'export CSV
    Par kodo dans le forum Langage
    Réponses: 2
    Dernier message: 08/06/2007, 11h53

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