Creation fichier cvs

Creation fichier cvs - PHP - Programmation

Marsh Posté le 31-08-2009 à 17:23:46    

Bonjour, je n'ai pas un très bon niveau, j'essaye de générer un fichier pour tableur, le plus hétérogène possible. J'ai vu que plusieurs possibilité existe, je ne peux pas utiliser l'objet COM car mon serveur n'est pas dans un environnement windows.
J'ai choisi de générer un fichier CSV. Mon objectif est de récupérer des données de la bdd (mysql) et de les mettre dans mon fichier rapport.csv
J'ai essayé plusieurs truc, je poste la dernière chose que j'ai essayé, pour planter le décors :  
 
$sql_data = mysql_query("SELECT * FROM OPERATION WHERE ID_COMPTE=".$_SESSION['id_compte']);
      while ($donnees = mysql_fetch_array($sql_data) )
 {
   $data1 = array(Nom, Montant, Nature, Type, Date);
   $data2 = array($donnees['NOM_OP'], $donnees['MONTANT_OP'], $donnees['NATURE_OP'], $donnees['TYPE_OP'], $donnees['DATE_OP']);
   $data = array($data1 . ',' . $data3);
 }
 
   
 $dir = 'tab/';
 $file = 'rapport.csv';
 $f = fopen($dir.$file, "a+" );
     foreach ($data as $ligne) {
     fputcsv($f, $ligne);
        }
    fclose($f);
 
 
Je vais juste expliquer ce qu'il y a dans la premiere boucle while : les données à insérer dans mon fichier doivent avoir cette syntaxe :
$data = array(
array(a, b, c),
array(d, e, f)
);
 
Merci de votre aide.


Message édité par sylvain2306 le 31-08-2009 à 17:34:46
Reply

Marsh Posté le 31-08-2009 à 17:23:46   

Reply

Marsh Posté le 31-08-2009 à 17:38:14    

hello, deja ca sert a rien de remette les titres sur chaque ligne,
ensuite faut mettre tes donnée sous forme de texte ta pas mis de quote :

 

$data1 = array('Nom', 'Montant', 'Nature', 'Type', 'Date');

 

echo implode("\t", $data1) . "\n";

 

$sql = mysql_query("SELECT NOM_OP,  MONTANT_OP, NATURE_OP, TYPE_OP, DATE_OP FROM OPERATION WHERE ID_COMPTE=".$_SESSION['id_compte']);
while ($donnees = mysql_fetch_assoc($sql))
 {
   echo implode("\t", $donnees) . "\n";
 }

 


apres suffis de mettre un header pour que ca le lise en fichier xsl


Message édité par stealth35 le 31-08-2009 à 17:41:26
Reply

Marsh Posté le 31-08-2009 à 17:40:40    

un truc de ce genre:

Code :
  1. $dir = 'tab/';
  2. $file = 'rapport.csv';
  3. $f = fopen($dir.$file, "a+" );
  4. fputcsv($f, array('Nom', 'Montant', 'Nature', 'Type', 'Date'));
  5. $sql_data = mysql_query("SELECT NOM_OP, MONTANT_OP, NATURE_OP, TYPE_OP, DATE_OP FROM OPERATION WHERE ID_COMPTE=".$_SESSION['id_compte']);
  6. while ($donnees = mysql_fetch_array($sql_data, MYSQL_NUM) ) {
  7.     fputcsv($f, $donnees);
  8. }
  9. fclose($f);

Reply

Marsh Posté le 31-08-2009 à 19:22:00    

CSV pas CVS :o j'ai cru que çà causait versionning :o

Reply

Marsh Posté le 01-09-2009 à 20:46:14    

+1
 
assure-toi que t'as la permission d'écriture dans ton dossier aussi.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 03-09-2009 à 10:55:40    

Désolé pour le titre...
 
Merci de vos réponses, j'ai pu résoudre mon probleme et faire simplement ce que je voulais  :)

Reply

Sujets relatifs:

Leave a Replay

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