Bonjour à tous,
Je souhaite exporter des données d'une base par le biai d'un fichier CSV (comme dans phpMyAdmin).
Je commence avec un formulaire qui fourni la période concerné. Une fois le formulaire validé, je souhaite qu'un fichier soit généré et qu'il soit téléchargé (comme quand on fait "enregistrer sous...").
Voici comment je procède, d'abord je récupère les données dans ma base et je les met dans une variable:
Et ensuite j'écrit le contenu de ma variable $retour dans un fichier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Ma requete $sql_listing_client = mysql_query("ma requete") or die(mysql_error()); // Je recupere les entetes $array_label_listing_client = array_keys(mysql_fetch_assoc($sql_listing_client)); $entete = '"' . implode('","', $array_label_listing_client) . '"<br />'; // Je recupere les donnee, je formate en csv while ($array_listing_client = mysql_fetch_row($sql_listing_client)) { $contenu = $contenu . '"' . implode('","', $array_listing_client) . '"<br />'; } $retour = $entete . $contenu;
A ce stade hormis les balises <br /> que je voudrais bien transformer en "retour à la ligne" (je n'arrive pas à caser les "\n" où il faut!), tout va bien je récupère un joli fichier d'une seule ligne :)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // j'ouvre $fichier if (!$handle = fopen($fichier, 'a')) { exit; } // J' écrit le $contenu dans le $fichier if (fwrite($handle, $contenu) === FALSE) { exit; } fclose($handle);
Je suis partit à la recherche d'une fonction qui pourrait "transmettre" ce fichier et j'ai trouvé http_send_file() que je n'arrive pas à faire fonctionner....
Donc tous conseils sur le sujet serait bienvenu!
D'avance merci ;)
Partager