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?
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?
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; ?>
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!
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.
question pourquoi PHP 4 ? t'es chez quel hébergeur ?
J'utilise phpMyAdmin.
Le serveur sur lequel je travail est sous php4 dc j'utilise php4.
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); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager