ManuelPHP.com

Le forum de la communauté PHP !

Vous n'êtes pas identifié.

#1 23-03-2006 18:45:43

manuramolo
Membre
Date d'inscription: 23-03-2006
Messages: 4

exporter des données au format csv ou txt

bonsoir
voilà la problématique :
je récupère les données d'un formulaire dans un .php

$query = 'SELECT a, b, c, d  FROM table WHERE w=1';
   $result = mysql_query($query) or die(mysql_error());
   $dn = mysql_fetch_array($result);
;

Je voudrais récupérer les données contenues dans $dn sous forme d'un fichier exploitable sous excel :txt avec séparateur ou csv...
quelle est la marche à suivre ?
Doit-on inqiquer un chemin C:userdonnees.txt ou peut-on faire en sorte qu'il soit demandé à l'utilisateur où mettre le fichier. Déjà la première méthode me conviendrait car il suffirait d'afficher un message du genre "votre fichier donnees.txt se trouve sur c:/user"
Je sais que ma question ne correspond pas aux demandes habituelles car en fait je fais une utilisation statistique de php pour créer des formulaires de saisie qui alimentent une base de données et permettent d'afficher des tableaux statistiques.....
merci d'avance
Manuel

Hors ligne

 

#2 12-04-2006 13:05:31

Guest
Invité

Re: exporter des données au format csv ou txt

moi aussi j'ai ce problème mais ne compte pas
strop sur les forums ; à part créer un livre d'or, faire un "chat", récupérer des messages ...enfin les trucs bateaux !!! il n'y a pas de vrais programmeurs où ils ne répondent pas. Moi j'ai créé mes scripts pour utilisation statistique tout seul vu que personne ne sait ou ne veut répondre

 

#3 12-04-2006 13:09:41

manuramolo
Membre
Date d'inscription: 23-03-2006
Messages: 4

Re: exporter des données au format csv ou txt

oui je vois...153 personnes l'ont lu et personne ne connait ou pire...ne veut donner la réponse...communauté PHP !! tu parles !!

Hors ligne

 

#4 14-04-2006 21:25:58

manuramolo
Membre
Date d'inscription: 23-03-2006
Messages: 4

Re: exporter des données au format csv ou txt

Pour les 176 personnes qui ont lu ma demande sans donner une réponse ou même une petite piste voici le script ...gratos...
il permet d'exporter directement en csv et en plus une fenêtre s'oivre pour demander si on veut le lire dans excel ou l'enregistrer...épatant non ?

<?

//accès à la la base de données
mysql_connect("localhost","root","") or die("La connexion a échoué !");

// on sélectionne la base 
  mysql_select_db("houssin");   

//Premiere ligne = nom des champs (
$xls_output = "Numéro d'indicateur;Année de gestion;Code Action;Code PAT";
$xls_output .= "\n";

//Requete SQL

$query='SELECT ni, ag, cact, cpat FROM indic';
  $result = mysql_query($query) or die(mysql_error());

  //Boucle sur les resultats
while($row = mysql_fetch_array($result))
{
$xls_output .= "$row[ni];$row[ag];$row[cact];$row[cpat]\n";
}

header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=AddressBook_" . date("Ymd").".csv");
print $xls_output;
exit;
?>

Et voilou simple non ?
merci pour votre aide et votre éminent savoir dans ce forum de "la communauté PHP"!!!

Hors ligne

 

#5 08-05-2007 18:42:35

Bilou
Membre
Date d'inscription: 08-05-2007
Messages: 1

Re: exporter des données au format csv ou txt

Super merci, ce code m'a été très utile.
Par contre, j'ai essayé l'opération pour l'exporter en xls et cela a fonctioné.
Voici ce que j'ai modifié:
$xls_output = "Numéro d'indicateur\tAnnée de gestion\tCode Action;Code PAT"; //Pour obtenir des tabulations, on remplace les ; par \t
$xls_output .= "\n\r"; //Pour obtenir une ligne vide entre les en-tête de colonnes et les données

....

//Boucle sur les resultats
while($row = mysql_fetch_array($result))
{
$xls_output .= "$row[ni]\t$row[ag]\t$row[cact];$row[cpat]\n"; //Là aussi on remplace les ; par \t pour obtenir une tabulation
}

header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=AddressBook_" . date("Ymd").".xls"); //On remplace csv par xls
print $xls_output;
exit;
?>

Pour ma part cela a fonctionné impec (Excel 2000) . Par contre il est préférable d'utiliser Internet Explorer car Firefox
demande bien ce qu'il faut faire avec le fichier, mais ne permet pas l'accès au bouton OK

Encore merci manuramolo pour ce tuyau

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr