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 :

Exporter une table dans un fichier .csv


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Exporter une table dans un fichier .csv
    Bonjour,

    Je souhaiterais exporter une table de ma base de données dans un fichier .csv pour ensuite l'importer dans une autre base de données.

    Quelqu'un aurait une idée?

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Points : 348
    Points
    348
    Par défaut
    Exemple de création d'un csv en php :

    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
    43
    44
    45
    46
    47
    48
    49
    <?php
    require_once("inc/fonctions.php");
    require("class/offre.class.php");
    require("class/article.class.php");
    require("class/article_media.class.php");
     
    header("Content-Type: application/csv-tab-delimited-table; charset=ISO-8859-1");
    header("Content-disposition: filename=offres_".date("d")."".date("m")."".date("Y").".csv");
     
    $str="";
     
    $liste_offre = Offre::getAll();
     
    foreach($liste_offre as $offre)
    {
    	$str.=$offre['libelle_ss_famille_offre'].";".$offre['libelle_regies_article'].";".$offre['libelle_compta_article'].";".$offre['compte_famille_article']."\n";	
     
    	$liste_article=Article::getAll($offre['id_famille_article']);
    	foreach($liste_article as $article)
    	{
    		if($article['media_article'] == 0)
    		{
    			$leMedia = "Aucun";
    		}
    		else
    		{
    			$leMedia = article_media::getLibelle($article['media_article']);
    		}
     
    		$str.=$article['libelle_article'].";".$article['designation_article'].";".$article['pu_article'].";".$article['libelle_mode_article'].";".$article['duree_article'].";".$article['type'].";".$leMedia.";";
    		if($article['revision_article'] == 0)
    		{
    			$str .= "Non";
    		}
    		elseif($article['revision_article'] == 1)
    		{
    			$str .= "1er Janvier";
    		}
    		else
    		{
    			$str .= "1er Juillet";
    		}
    		$str .= "\n";
    	}
    	$str.="\n";
    }
     
    echo $str;
    ?>

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Cette façon de faire ne me parle pas trop, j'aurais plutôt tendance a vouloir me connecter au préalable à ma base de données, d'ouvrir le fichier csv (le créer), de faire la requête ($req="SELECT * FROM ma_table) et d'écrire tout dans le fichier csv.
    Je pensais utiliser les fonction "fopen()", "fwrite()"... pour la gestion du fichier mais je ne sait pas comment m'y prendre!

    Help!

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 387
    Points
    9 387
    Par défaut
    Quel SGBD ? MySQL dispose des instructions LOAD INTO qui permet d'exporter le contenu d'une table dans un fichier CSV.
    Bref cela tient en une requête.

  5. #5
    Expert éminent sénior

    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
    Points : 10 727
    Points
    10 727
    Par défaut
    question pourquoi PHP 4 ? t'es chez quel hébergeur ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    J'utilise phpMyAdmin.
    Le serveur sur lequel je travail est sous php4 dc j'utilise php4.

  7. #7
    Expert éminent sénior

    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
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par silbano85 Voir le message
    J'utilise phpMyAdmin.
    Le serveur sur lequel je travail est sous php4 dc j'utilise php4.
    mais t'es chez quel hébergeur ?

  8. #8
    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
    Une solution consiste à définir toi-même la fonction fputcsv qui n'existe pas en PHP4.
    http://fr.php.net/manual/fr/function.fputcsv.php#47606
    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
    function fputcsv($handle, $row, $fd=',', $quot='"')
    {
       $str='';
       foreach ($row as $cell) {
           $cell=str_replace(Array($quot,        "\n"),
                             Array($quot.$quot,  ''),
                             $cell);
           if (strchr($cell, $fd)!==FALSE || strchr($cell, $quot)!==FALSE) {
               $str.=$quot.$cell.$quot.$fd;
           } else {
               $str.=$cell.$fd;
           }
       }
     
       fputs($handle, substr($str, 0, -1)."\n");
     
       return strlen($str);
    }

Discussions similaires

  1. Exporter une table access en fichier CSV
    Par TheTcha dans le forum Access
    Réponses: 2
    Dernier message: 03/07/2013, 11h05
  2. Exporter une table vers un fichier csv
    Par baaby dans le forum Administration
    Réponses: 1
    Dernier message: 26/07/2012, 17h33
  3. [Macro]exporter une table vers un fichier.csv
    Par samca dans le forum IHM
    Réponses: 2
    Dernier message: 24/04/2007, 21h25
  4. décharger une table dans un fichier CSV
    Par shrek7577 dans le forum SQL
    Réponses: 3
    Dernier message: 22/12/2006, 16h44
  5. Exporter une table dans un fichier excel
    Par david71 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/09/2005, 17h09

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