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 :
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() ;
}
J'ai essayé :
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,";" );
Avec le même résultat... Je n'ai même pas mes en-têtes de colonne...

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 !