begin process at 2012 05 29 01:49:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Exporter en csv


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Exporter en csv

Echange clos 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

Membre Club Administrateur CodeS-SourceS
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&#8217;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&#8217;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">&nbsp;</td>
      <td width="213">&nbsp;</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>&nbsp;</td>
      <td><label>
        <input type="submit" name="bouton" id="bouton" value="Envoyer" />
      </label></td>
    </tr>
  </table>
  <p>&nbsp;</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


1 2

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales