Accueil > Forum > > > > Exporter en csv
Exporter en csv
Echange clos, plus de réponse possible sur cet échange
mardi 12 juillet 2011 à 11:52:20 |
Exporter en csv

massbbc
|
salut
je suis débutant en programmation php et je voudrais exporter le résultat d'une recherche en csv.
En fait, l'utilisateur fait une recherche(recherche.php) ensuite j'affiche le résultat dans une autre page(resultat.php). Mon objectif est d'exporter ce résultat en fichier csv.
Merci pour votre aide!
|
|
mercredi 13 juillet 2011 à 00:42:25 |
Re : Exporter en csv

stay
|
Salut,
Sur la page recherche, là ou tu affiches le résultat.
Tu crées un lien qui redirige vers le script ci-dessous.
Je t'ai créé un exemple, tu devras l'adapter à tes besoins.
<?php
ini_set('memory_limit','512M');
header("content-type: application/octet-stream");
header('Content-Type: text/csv; charset=utf-8');
header("Content-Disposition: attachment; filename=user.csv");
flush();
$arrayUser = array(
0 => array('Toto','fr'),
1 => array('Stay','en')
);
echo "SPEUDO;LANGUAGE\n";
foreach ($arrayUser as $items) {
echo join(';',$items)."\n";
}
?>
Et oui, c'est pas plus difficile que ça :).
|
|
mercredi 13 juillet 2011 à 18:04:58 |
Re : Exporter en csv

TychoBrahe
|
Salut,
Et oui, c'est pas plus difficile que ça :)
Et bien si c'est plus dur que ça. Pourquoi ? Simplement parce que ton script ne gère pas le cas où les données contiennent le caractère de séparation (ici le point-virgule). Quand on veux faire els choses correctement on utilise fputcsv() au lieux de réinventer la roue carrée.
Pour reprendre ton exemple (la flemme de remettre les headers) :
Code PHP : <?php
$arrayUser = array(array('Toto', 'fr'),
array('John,;', 'en'));
$fp = fopen('php://output', 'w');
if ($fp === false)
die();
foreach($arrayUser as $user)
{
fputcsv($fp, $user);
}
fclose($fp);
?>
|
|
mercredi 13 juillet 2011 à 23:04:44 |
Re : Exporter en csv

stay
|
Par rapport à ton niveau en informatique.
Tu sais ou est là différence entre toi et moi.
C'est la motivation à vouloir aider les autres.
Toi me disant :
1. Et bien si, c'est plus dur que ça
2. Quand on veux faire els choses correctement on utilise
3. au lieux de réinventer la roue
4. la roue carrée
6. la flemme de remettre les headers
Tout çà, en deux phrases.
C'est sur, tu as optimisé mon code.
Car elle avait une faille.
De plus il y a bien une fonction PHP qui gère cela.
Mais voila ce que je vais faire pour toi.
Je vais te donner une leçon de vie devant toute la communauté phpcs.
Tu crois qu'une personne voulant travailler, partager ou simplement dialoguer, voudrait le faire avec une personne comme toi.
Non, car tu es insultant.
Plusieurs collègues qui on voulu ce mettre en compétition avec moi, ce sont toujours cassé les dents.
Au final, des gentils toutou réprimandé par leurs supérieurs à cause de leurs grande gueule.
La majorité des gens comme toi, sont toujours en compétions, alors qu'ils ont suffisamment prouvé comme les codes que tu proposes sur ce site.
J'espère que cela t'a plus ! :)
|
|
jeudi 14 juillet 2011 à 12:43:18 |
Re : Exporter en csv

NHenry
|
Bonjour,
stay, quand tu vois le nombre de questions postées sans recherches, le nombre de fois où l'on voit des réponses incomplète ou réinventant tout une machinerie déjà existante, il est normal que certains messages soit un peu plus incisifs que d'autres.
Donc, ça ne sert à rien de répondre de la sorte, de plus, quand tu auras l'expérience de TychoBrahe sur les forums CS, tu comprendras mieux.
Calmes-toi, et essayes d'apprendre des autres aussi.
Mon site
|
|
jeudi 14 juillet 2011 à 15:48:23 |
Re : Exporter en csv

stay
|
Bonjour,
@NHenry : "Calmes-toi, et essayes d'apprendre des autres aussi."
Je crois avoir dit à mon dernier post :
C'est sur, tu as optimisé mon code.
Car elle avait une faille.
De plus il y a bien une fonction PHP qui gère cela.
Mon problème, c'est l’arrogance de ce garçon sur sa façon de communiquer.
-----------
On fait un petit jeu ? Et remplaçons le mot forum par bureau.
Exemple :
-----------
Donc, tu veux dire que si je suis sous tentions au bureau
et que, un de mes collègues me pose une question du genre,
pourquoi mon pc ne fonctionne plus ?
Et que je constate que la prise n'est pas branchée.
Je pourrais être agressif ?
Donc lui répondre (en reprenant quelques termes et fautes d’orthographe) de notre ami :
1. Tu aurais du voir cela par toi même !
2. Quand on veux faire els choses correctement on branche la prise !
3. Rebranche cette prise par toi même, la flemme de remettre la prise !
----------------------
De plus, l'agressivité ne sert à rien car elle se retournera contre toi :).
Pour l'exemple, j'aurai pu prendre l'exemple d'un professeur à l'école avec ses élèves.
On essaye ?
|
|
jeudi 14 juillet 2011 à 16:11:59 |
Re : Exporter en csv

stay
|
@NHenry
J'ai oublié une phrase, car tu as essayé de retourner la situation.
Donc, ça ne sert à rien de l'aidée, de plus, quand tu auras ma patience (car je ne suis pas grossier) sur les forums CS, tu comprendras mieux.
|
|
lundi 25 juillet 2011 à 14:52:46 |
Re : Exporter en csv

massbbc
|
Merci pour le code!
Mais nous sommes une communauté alors vous vous faites quelques remarques et on evolue ok?
Je jveux pouvoir récuperer(exporter) de ma base de donnée mysql seulement les données dont l'utilisateur aura definit l'intervalle de date dans ma page de recherche.
|
|
lundi 25 juillet 2011 à 18:03:11 |
Re : Exporter en csv

massbbc
|
J'ai fait mon code mais j'arrive a générer un fichier mais il est vide. Je vous met mon code/
recherche.php
Code PHP : <?php
//MX Widgets3 include
require_once('includes/wdg/WDG.php');
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wdg="http://ns.adobe.com/addt">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript" src="includes/common/js/sigslot_core.js"></script>
<script src="includes/common/js/base.js" type="text/javascript"></script>
<script src="includes/common/js/utility.js" type="text/javascript"></script>
<script type="text/javascript" src="includes/wdg/classes/MXWidgets.js"></script>
<script type="text/javascript" src="includes/wdg/classes/MXWidgets.js.php"></script>
<script type="text/javascript" src="includes/wdg/classes/Calendar.js"></script>
<script type="text/javascript" src="includes/wdg/classes/SmartDate.js"></script>
<script type="text/javascript" src="includes/wdg/calendar/calendar_stripped.js"></script>
<script type="text/javascript" src="includes/wdg/calendar/calendar-setup_stripped.js"></script>
<script src="includes/resources/calendar.js"></script>
<link href="includes/skins/mxkollection3.css" rel="stylesheet" type="text/css" media="all" />
</head>
<body>
<form action="dl.php" method="get" enctype="multipart/form-data" name="form1" id="form1">
<table width="339" border="0" align="center" cellpadding="0" cellspacing="10">
<tr>
<td width="96"> </td>
<td width="213"> </td>
</tr>
<tr>
<td><div align="right">Date début </div></td>
<td><label>
<input name="debut" id="debut" value="" wdg:subtype="Calendar" wdg:mask="<?php echo $KT_screen_date_format; ?>" wdg:mondayfirst="true" wdg:type="widget" wdg:singleclick="false" wdg:restricttomask="no" />
</label></td>
</tr>
<tr>
<td><div align="right">Date fin </div></td>
<td><label>
<input name="fin" id="fin" value="" wdg:subtype="Calendar" wdg:mask="<?php echo $KT_screen_date_format; ?>" wdg:mondayfirst="true" wdg:type="widget" wdg:singleclick="false" wdg:restricttomask="no" />
</label></td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="bouton" id="bouton" value="Envoyer" />
</label></td>
</tr>
</table>
<p> </p>
</form>
</body>
</html>
resultat.php
Code PHP :
<?php
include ("connexion.php");
$connect= mysql_connect($host,$login,$pass);
mysql_select_db($base, $connect);
// Liste les données de la table
// Script permettant d'exporter une table Mysql au format CSV (séparateur
$debut='';
$fin='';
$resQuery = mysql_query("SELECT date_creat AS DATE_DE_CERATION, heure_d AS HEURE_CREATION, creation AS STATUS1, date_upd AS DATE_MODIFICATION, heure_up AS HEURE_MODIFICATION, modification AS STATUS2, societe AS SOCIETE, nom_navire AS NOM_NAVIRE, call_sign AS CALL_SIGN, type_navire AS TYPE_NAVIRE, comment AS COMMENTAIRES FROM navires WHERE date_creat BETWEEN '$debut' AND '$fin' ");
/*
$resQuery = mysql_query("SELECT date_creat, heure_d, creation, date_upd, heure_up, modification, societe, nom_navire, call_sign, type_navire, comment FROM navires WHERE date_creat='09052011'");
$resQuery = mysql_query("SELECT
nom_adherent,prenom_adherent,adresse_adherent,codepostal_adherent,ville_adhe
rent FROM mysite_adherents WHERE annee_echange_adherent = 2006");*/
header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=export.csv");
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++;
}
echo "\n";
// données de la table
while ($arrSelect = mysql_fetch_array($resQuery, MYSQL_ASSOC)) {
foreach($arrSelect as $elem) {
echo "$elem;";
}
echo "\n";
}
}
?>
|
|
lundi 25 juillet 2011 à 18:12:08 |
Re : Exporter en csv

massbbc
|
lORSQUE JE TEST LA PAGE RESULTAT SIMPLEMENT EN RENSEIGNANT LES VARIABLES PAR DES VALEUR COM:
Code PHP : $resQuery = mysql_query("SELECT date_creat AS DATE_DE_CERATION, heure_d AS HEURE_CREATION, creation AS STATUS1, date_upd AS DATE_MODIFICATION, heure_up AS HEURE_MODIFICATION, modification AS STATUS2, societe AS SOCIETE, nom_navire AS NOM_NAVIRE, call_sign AS CALL_SIGN, type_navire AS TYPE_NAVIRE, comment AS COMMENTAIRES FROM navires WHERE date_creat BETWEEN '2011-07-01' AND '2011-07-31' ");
LE FICHIER EST GENERE CORRECTEMENT AVEC LES VALEURS. JE PENSE QUE LE PROBLEME DOIT VENIR DE MON DE MA PAGE RECHERCHE.PHP
|
|
Cette discussion est classée dans : php, recherche, résultat, exporter, csv
Sujets en rapport avec ce message
Exporter une table Mysql vers CSV en utilisant PHP [ par kingstong ]
Bonjour tout le monde je suis a la recherche , depuis un certain temps, d'un script Php qui me permettra l'exportation de de certaines colonnes d'une
Faire une recherche par élimination [ par minoula2006 ]
Bonjour, tous le monde je suis débutante en php , et j'aimerai bien quelqu'un qui m'aide pour résoudre ce problème. j'ai une partie dans mon backoff
Recherche une idée sur la programation d'un site php simple (help) urgen [ par gladiator999 ]
Bonjour, je vois que le script sur ce site http://88.191.231.95/ est très simple, il ne contient que 2 ou 3 page php j'aimerai savoir si vous pouvez
découpage du résultat en des pages [ par smirani ]
Slt je suis entrain de faire un formulaire de recherche dont le quel le résultat s'affiche trop longue alors je veux découper les résultat sur des pag
Recherche une interface (en php) de requete / modification en masse de champs [ par cycy001 ]
Bonjour, Nous avons développé un site en php/Mysql. Ce site permet à des utilisateurs de faire de requêtes / comparaisons . sur leur propres bases de
Problème Fonction exec() PHP [ par Scorpio2201 ]
Bonjour, Je me permet de vous demander un conseil sur la fonction exec() de PHP. Je suis sous Ubuntu 9.10 avec Apache, PHP et MySQL d'installer. Je
Recherche un programmeur PHP pour site Jeux vidéo PC [ par cayus666 ]
Bonjour,Nous sommes 2 actuellement à plancher sur la création d'un site Web traditionnel sur le monde du jeu vidéo PC.La maquette graphique est termin
zone de recherche php et css [ par petiteamoula ]
salut j'ai beaucoup cherché mais j'ai pas trouvé des résultats satisfaisantes.je veux faire une zone de recherche comme celle dans le lien suivant <a
Recherche programmeur PHP+MySql [ par Armanol ]
Bonjour, Je suis dans un projet d'un site internet mais il me manque un programmeur en php+Mysql Je suis deja avec deux potes Un qui connait le java
moteur de recherche php [ par walidbnchakroun ]
je suis en train de programmer un petit moteur de recherche en php/mysql. Mon problème c'est comment gèrer les AND et OR dans la partie mot clé: J'uti
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|