Export csv PHP ... C'est quoi ????? [Résolu/Fermé]

Signaler
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
-
Messages postés
124
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
17 décembre 2010
-
Bonjour à tous,

Mon maître de stage aimerait que dans mon application PHP mySql, il y ai à un moment donné sur une page où s'affiche une liste d'informations tout en haut un "export csv" ...

Je n'ai jamais fait ca.. Quelqu'un pourrait m'éclairer SVP.. Merci

12 réponses

Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
Personne connait c'est quoi ???


Bonjour

Il y a des explications partout sur le web à propos du format CSV
Il y a une bibliothèque de fonctions pour lire et écrire des fichiers CSV dans le manuel de référence PHP.
Où est ton problème ?
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
Ben en faite je sais que c'est un fichier qui va lui permettre ensuite sur un tableur de faire un graphique non ??? C'est pas ca ???

Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
896
salut,

CSV est un format d'échange de données.
tu en as sans doute déjà vu.
c'est un bête fichier texte qui contient ligne par ligne le contenu d'une BDD ou d'un tableur.
les valeurs sont en générales séparées par des points virgules ou des tabulations.
la première ligne peut contenir le nom des colonnes.
col1;col2;col3;col4;col5
rowA1;rowA2;rowA3;rowA4;rowA5
rowB1;rowB2;rowB3;rowB4;rowB5
rowC1;rowC2;rowC3;rowC4;rowC5
rowD1;rowD2;rowD3;rowD4;rowD5

pour ton export il suffit de boucler sur le résultat d'une requête et de mettre le contenu dans un fichier. mais effectivement il existe des scripts un peu partout pour faire ça.
Attention, le format CSV ne consiste pas simplement à séparer les champs par des point-virgules ou des tabulations, sinon tu fais quoi quand il y a un point-virgule ou une tabulation dans tes données ?
Le plus simple pour générer un fichier CSV correct est d'utiliser la fonction fputcsv (elle est faite pour ça) :
https://www.php.net/manual/fr/function.fputcsv.php
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
Je vous remercie beaucoup pour toutes ces informations, mais donc si j'ai bien compris 'Dalida', il faut que je fasseune requete.

exemple:

$sqlagent = "SELECT *
FROM intervention, agent, type
WHERE intervention.Num_agent = agent.Num_agent
AND type.Num_type = intervention.Num_type
AND Nom_agent = '$agent'
order by Statut_intervention= 'Terminé', Date_debut DESC";

$resultsqlagent = mysql_query($sqlagent) or die('Erreur SQL! '.$sqlagent.''.mysql_error());

while ($rep = mysql_fetch_assoc($resultsqlagent))
{


echo $rep['Libelle_type'];
echo $rep['Libelle_intervention'];
echo $rep['Duree_intervention'];

}

et ensuite je fait un fichier texte kom ca :

Libelle_type;Libelle_intervention;Duree_intervention
$rep['Libelle_type'];$rep['Libelle_intervention'];echo $rep['Duree_intervention'];
$rep['Libelle_type'];$rep['Libelle_intervention'];echo $rep['Duree_intervention'];
$rep['Libelle_type'];$rep['Libelle_intervention'];echo $rep['Duree_intervention'];
$rep['Libelle_type'];$rep['Libelle_intervention'];echo $rep['Duree_intervention'];


C'est ca ????

Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
896
salut,

oui c'est ça mais comme te le dit toto il faut penser à échapper le caractère de séparation (le point virgule dans ce cas).
donc il faut passer par fputcsv() pour écrire dans le fichier.
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
D'accord mais ce que j'ai fait est correct là ????


Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
896
et si tu essayais ça ne serait pas le plus simple ?

tu as des exemples dans le manuel PHP et des quantités d'autres sur le net.

essaie et dis nous si tu as des soucis.
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
Essayer koi ?? je ne comprends pas, je fais ça, mais où est ce que j'incorpore ce code ???? et apré il faut que je fasse un lien sur mon site non ?? et je le redirige vers quel page ????????????

Merciii
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
896
salut,

va falloir sérieusement t'y remettre, à priori j'ai plus le problème en tête que toi alors que c'est toi qui est en stage !
-:oD

mais où est ce que j'incorpore ce code ????
dans un script appelé par la page où figure le tableau à exporter en CSV.

et apré il faut que je fasse un lien sur mon site non ??
évidement, sur la page où figure le tableau à exporter en CSV.

et je le redirige vers quel page ????????????
en premier tu affiches une page HTML avec un
 contenant le CSV. si ça fonctionne tu pourras injecter le contenu directement sous forme de fichier CSV.

--
[ Mathieu ]
<code>Il y a sûrement des pandas pour ne dépendre de rien
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
Merci bcp dalida, mais je viens de le faire et j'ai enfin réussi.. Si quelqu'un à besoin du code, ben qu'il dde et je le filerais, je dois y alé j'ai pas le tenmps d'copier ...

++

J'aimerai bien ton code s'il te plait, je débute en programmation donc cela va m'être très utile d'analyser comment tu l'as fait.

Merci d'avance.
> Steeve
c possible que tu me passé le code stp,
et est ce dans ton code il y a un moyen de cliqué sur un lien pour téléchargé le fichier csv?

merci d'avance
Messages postés
124
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
17 décembre 2010
1
Je vais utiliser ceci dans mon stage ^^

Tu pourra me filer ton code s'il te plait. Il me sera d'une très grande utilité.

Merci beaucoup.

Envoie le moi par mail s'il te plait et merci d'avance: ninpo15@hotmail.com