J'ai un problème lors de l'export d'une de mes table au format CSV.
J'ai écris le bout de code suivant :
<?php
// Liste les données de la table
// -------------------------------------------
include '../bdd/connexion_bdd.php';
$resQuery = mysql_query("SELECT * FROM ayant_droit");
//header("Content-type: application/vnd.ms-excel");
// header("Content-type: application/octet-stream");
header('Content-Type: application/octet-stream; charset=iso-8859-1');
// header("content-type: application/excel; charset=iso-8859-1");
//header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=table.csv");
if (mysql_num_rows($resQuery) != 0) {
// titre des colonnes
$fields = mysql_num_fields($resQuery);
$i = 0;
while ($i < $fields) {
echo mysql_field_name($resQuery, $i).";";
$i++;
}
echo "\n";
// données de la table
while ($arrSelect = mysql_fetch_array($resQuery, MYSQL_ASSOC)) {
foreach($arrSelect as $elem) {
echo "$elem;";
}
echo "\n";
}
}
?>
Comme vous pouvez le voir j'ai essyé pas mal de Header...
Il me propose bien de télécharger le ficher table.csv, mais lorsque je veux le lire avec Excel : il me dit qu'il y a une erreur ! Je peux ignorer l'erreur, il continu à ouvrir le fichier, et il ne m'afficher rien.
Si j'essaie d'ouvrir le fichier avec un éditeur texte, je peux voir mes champs séparés par des ";" comme je souhaite le fiare.
Si j'essaie de l'ouvrir avec OpenOffice, il me demander quel type de fichier CSV j'utilise, je lui répond "avec spéarateur ";"" et là il me l'ouvre sans problème.
Je n'arrive pas à trouver l'erreur, et je ne comprend pas trop comment ça marche en plus...
Est-ce que qqu'un aurai un exemple qui marche avec MS Excel, ou aurai trouvé ou est le problème ??
Merci d'avance pour votre aide


