Bonjour @ toutezéatous,
Je me suis inspirée de ce code pour générer un fichier excell (.csv) avec les données d'une table sql. Tout a l'air de bien fonctionner (je n'ai aucun message d'erreur) mais le fichier généré est vide ;-( Je n'ai même pas le nom des champs...
J'y ai passé mon après-midi mais là je craque un peu (en fait à mort !!) alors je viens vous demander un petit peu d'aide...
La version de PHP est la 5.2.5
Voici mon code :
J'ai essayé :
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 $sql = 'SELECT * FROM tracking' ; mysql_select_db($sql_bdd, $bdd_link) or die(mysql_error()); $result = mysql_query($sql, $bdd_link) or die(mysql_error()); if (!$result) die('Pb dans la generation du fichier'); $num_fields = mysql_num_fields($result); $headers = array(); for ($i = 0; $i < $num_fields; $i++) { $headers[] = mysql_field_name($result , $i); } $fp = fopen($fname, 'w'); if ($fp == false) {die("Impossible d'ecrire dans le fichier");} if ($fp && $result) { header("Content-Disposition: attachment; filename=\"tracking.csv\""); header("Content-Type: text/csv"); header("Pragma: no-cache"); header("Expires: 0"); fputcsv($fp, $headers); while($row = mysql_fetch_row($result)){ fputcsv($fp, $row); } fclose($fp); mysql_close(); exit() ; }
Avec le même résultat... Je n'ai même pas mes en-têtes de colonne...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 fputcsv($fp, $row,"\t" ); fputcsv($fp, array_values($row)); fputcsv($fp, $row,";" );
J'ai aussi essayé pour le fun de mettre un fwrite("toto" ) juste après le fopen() mais toujours rien, c'est vide !
J'ai vérifié ma table qui est bien alimentée et si je fait un print_r($row), j'obtiens bien mes valeurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Array ( [0] => 25 [1] => 33 [2] => 886a0d1d527ebf8259e69c9a59a3b9d5 [3] => demo@laposte.net [4] => 2009-04-02 14:16:17 [5] => /selection-immobiliere-biens-preferes.php [6] => ) Array ( [0] => 29 [1] => 33 [2] => 886a0d1d527ebf8259e69c9a59a3b9d5 [3] => demo@laposte.net [4] => 2009-04-02 14:23:21 [5] => /ventes-flash-prix-promotionnels.php [6] => filtre_region=-1 ; tri_ordre=cp_asc ; )
Si vous avez une idée ce serait super cooooooooooool !
Merci @ toutezéatous et excellente soirée !
Partager