[SQL] Exportation CSV dans un fichier
torer40
Messages postés
61
Statut
Membre
-
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je recherche la requête permettant de faire une exportation CSV d'une table, directement dans un fichier (donc un fichier format .csv ) ce qui permettra de l'ouvrir ensuite directement depuis un tableur.
Merci d'avance.
Je recherche la requête permettant de faire une exportation CSV d'une table, directement dans un fichier (donc un fichier format .csv ) ce qui permettra de l'ouvrir ensuite directement depuis un tableur.
Merci d'avance.
4 réponses
-
J'ai trouvé le moyen en php de créer un fichier et d'y écrire quelque chose :
$filename = "test.txt"; print "Ecrire dans $filename<br>"; $fp = fopen ($filename, "w") or die ("Impossible d'ouvrir $filename"); fwrite ($fp, "Hello\n"); fclose($fp); print "réaliser un ajout dans $filename<br>"; $fp = fopen ($filename, "a") or die ("Impossible d'ouvrir $filename"); fputs ($fp, "Une autre chaine\n"); fclose($fp) ;
Mais je n'ai toujours pas trouvé comment réaliser une exportation dans ce même fichier, la base de donné en csv .. -
Je peux le faire avec phpmyadmin depuis l'onglet exporter, mais je veux le coder en php
-
Je viens de trouver un script en cherchant sur google, je viens de le tester, ça marche niquel. Mais j'ai besoin de comprendre le code car il va falloir que je l'explique à un jury d'ici peu. Et étant débutant en codage, ce script que j'ai trouvé c'est du chinois pour moi.
Pouvez-vous m'aider à expliquer ce code ?
/* vars for export */ // database record to be exported $db_record = 'XXXX'; // optional where query $where = ''; // filename for export $csv_filename = 'db_export_'.$db_record.'_'.date('Y-m-d').'.csv'; // database variables $hostname = "XXXXX"; $user = "XXXXX"; $[/contents/64-mots-de-passe password] = "XXXXX"; $database = "XXXXX"; // Database connecten voor alle services mysql_connect($hostname, $user, $password) or die('Could not connect: ' . mysql_error()); mysql_select_db($database) or die ('Could not select database ' . mysql_error()); // create empty variable to be filled with export data $csv_export = ''; // query to get data from database $query = mysql_query("SELECT * FROM ".$db_record." ".$where); $field = mysql_num_fields($query); // create line with field names for($i = 0; $i < $field; $i++) { $csv_export.= mysql_field_name($query,$i).';'; } // newline (seems to work both on Linux & Windows servers) $csv_export.= ' '; // loop through database query and fill export variable while($row = mysql_fetch_array($query)) { // create line with field values for($i = 0; $i < $field; $i++) { $csv_export.= '"'.$row[mysql_field_name($query,$i)].'";'; } $csv_export.= ' '; } // Export the data and prompt a csv file for download header("Content-type: text/x-csv"); header("Content-Disposition: attachment; filename=".$csv_filename.""); echo($csv_export); -
Si c'est pour un projet à présenter, je te conseille vivement de concevoir toi même ton script... au moins tu sauras l'expliquer, en plus d'être risqué de prendre un script que tu n'as pas fait pour le présenté, c'est loin d'être apprécié par un jury...
Ce n'est pas très compliqué à faire, prends le temps et fais le toi même, c'est mon conseil...