Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2011, 11h26   #1
Invité de passage
 
Homme
Développeur Web
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 1
Points : 1
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?
silbano85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 11h45   #2
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
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 : 322
Points : 322
Exemple de création d'un csv en php :

Code :
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;
?>
__________________
Pensez à la balise [CODE].
Aucune réponse aux questions par MP.
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 12h12   #3
Invité de passage
 
Homme
Développeur Web
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 1
Points : 1
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!
silbano85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 12h51   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 806
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 806
Points : 1 520
Points : 1 520
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.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 13h13   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
question pourquoi PHP 4 ? t'es chez quel hébergeur ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 14h05   #6
Invité de passage
 
Homme
Développeur Web
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 1
Points : 1
J'utilise phpMyAdmin.
Le serveur sur lequel je travail est sous php4 dc j'utilise php4.
silbano85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 14h24   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
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 ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 11h27   #8
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 656
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 656
Points : 5 359
Points : 5 359
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 :
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);
}
__________________
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)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h02.


 
 
 
 
Partenaires

Hébergement Web