Export d'une base ACCESS en csv avec php

Export d'une base ACCESS en csv avec php - PHP - Programmation

Marsh Posté le 19-04-2010 à 16:51:26    

Bonjour,
 
Je suis en train de programmer une appli WEB en php avec un BDD ACCESS. Je voudrais faire dans mon code php un export csv de ma table access. Le problème c'est que ça me génère bien un fichier CSV mais celui ci est vide.
 
Je mets mon code php ci-dessous, en espérant que quelqu'un pourra m'aider à résoudre ce problème.
 

Code :
  1. $fname = "tracking.csv" ;
  2. $html_output = '';
  3. $sqlcsv = " SELECT * FROM Banque";
  4. if (false === $result = odbc_exec($cnx, $sqlcsv)) die('Impossible de générer le fichier, voici l\'erreur :'.mysql_error());
  5.  
  6.  
  7. $num_fields = odbc_num_fields($result);
  8. $html_output = substr($html_output,0, -1)."\r\n";
  9. while($row = odbc_fetch_row($result)){
  10.   for ($i=0; $i < $num_fields; $i++) {
  11.     $html_output.= $row[$i]."|";
  12.   }
  13.   $html_output = substr($html_output,0, -1)."\r\n";
  14. }
  15. header('Content-Type: text/csv');
  16. header('Content-Disposition: attachment; filename="tracking.csv"');
  17. header('Pragma: no-cache');
  18. header('Expires: 0');
  19. echo $html_output;

Reply

Marsh Posté le 19-04-2010 à 16:51:26   

Reply

Marsh Posté le 21-04-2010 à 15:34:42    

Je suis finallement arrivé à générer mon export en csv.
 
Voici comment j'ai fais, ça pourra certainement aider quelqu'un.
 

Code :
  1. $sqlcsv = " SELECT * FROM Banque";
  2. $result = odbc_exec($cnx, $sqlcsv);
  3. header("Content-Type: application/csv-tab-delimited-table" );
  4. header("Content-disposition: filename=tracking.csv" );
  5. // titre des colonnes  
  6.    $fields = odbc_num_fields($result);
  7.  
  8.     $i = 1;
  9.     while ($i < $fields) {
  10.       echo odbc_field_name($result, $i).";";
  11.       $i++;
  12.     }
  13.    echo "\n";
  14. // données de la table  
  15.     while ($arrSelect = odbc_fetch_array($result)) {
  16.      foreach($arrSelect as $elem) {
  17.      echo "$elem|";
  18.     }
  19.      echo "\n";
  20.     }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed