de mysql à csv via php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : de mysql à csv via php

par Invité » 17 janv. 2009, 08:42

cette absence de commentaires veut il dire que mon code est correct?
un petit "oui" ou "non" me réconforterait...et m'aiderait beaucoup à avancer, merci.

par Invité » 16 janv. 2009, 15:19

j'ai aussi tenté le header suivant qui ne marche pas:
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
Je me demande si le pb ne vient pas du code qui crée la table de données? j'ai un doute sur la manière dont j'ajoute des ";" pour séparer les champs.

par Invité » 16 janv. 2009, 15:15

je rajoute le code qui crée le fichier à partir de la requete
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++;
  }
  print "\n";

  // données de la table
  while ($arrSelect = mysql_fetch_array($resQuery, MYSQL_ASSOC)) {
   foreach($arrSelect as $elem) {
    echo "$elem;";
   }
   echo "\n";
  }
}

de mysql à csv via php

par Invité » 16 janv. 2009, 15:10

Bonjour à tous,

J'essaye de créer un fichier csv ou xls à partir d'une requete mysql et un traiment php. Pour csv comme pour xls, je reçois bien le fichier et les données.

Sous vista, chaque donnée du fichier est bien placée dans une cellule et est manipulable directement.

Le problème est sous xp: je reçois bien les données mais chaque enregistrement se trouve dans une unique cellule et ressemble à ceci:
donnée1;donnée2;donnée3;donnée;

Donc impossible de manipuler les données.
Comment résoudre ce pb? Quel header utiliser pour obtenir des données manipulables sous excel ou autre tableur, indépendamment de l'os et de la version?

Voici mon test export csv:
$filename = "test.csv";
header("Content-type: text/x-csv");
header("Content-disposition: attachment; filename=\"$filename\"");
Et le test excel
$filename = "test.xls";
header("Content-type: application/vnd.ms-excel"); 
header("Content-disposition: attachment; filename=\"$filename\"");
Merci pour vos réponses.