Bonjour à tous,
J'ai repris un code d'internet pour réaliser une exportation de donnees mysql vers un fichier excel.
Malheureusement le code m'affiche les données sur le site et m'affiche aussi un probleme de header en bas du code: Warning: Cannot modify header information - headers already sent by (output started
Si quelqu'un pouvait m'aider, merci et bonne journée!
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
50
51
52
53
54
55
56
57
58
59
60 <?php // Connexion MySQL mysql_connect("", "", "" ); mysql_select_db(""); // Obligatoire pour la suite ! // la variable qui va contenir les données CSV $outputCsv = ''; // Nom du fichier final $fileName = 'export-csv.csv'; $requete = "SELECT * FROM membre ORDER BY Nom"; $sql = mysql_query($requete); if(mysql_num_rows($sql) > 0) { $i = 0; while($Row = mysql_fetch_assoc($sql)) { $i++; // Si c'est la 1er boucle, on affiche le nom des champs pour avoir un titre pour chaque colonne if($i == 1) { foreach($Row as $clef => $valeur) $outputCsv .= trim($clef).';'; $outputCsv = rtrim($outputCsv, ';'); $outputCsv .= "\n"; } // On parcours $Row et on ajout chaque valeur à cette ligne foreach($Row as $clef => $valeur) $outputCsv .= trim($valeur).';'; // Suppression du ; qui traine à la fin $outputCsv = rtrim($outputCsv, ';'); // Saut de ligne $outputCsv .= "\n"; } } else exit('Aucune donnée à enregistrer.'); // Entêtes (headers) PHP qui vont bien pour la création d'un fichier Excel CSV header("Content-disposition: attachment; filename=".$fileName); header("Content-Type: application/force-download"); header("Content-Transfer-Encoding: application/vnd.ms-excel\n"); header("Pragma: no-cache"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); header("Expires: 0"); echo $outputCsv; exit(); ?>
Partager