[symfony-fr] export csv collection - array

2010-12-02 Par sujet mantex
J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement mais
poas lorsque j' essai de recupérer la collection evaluations

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest $request)

   {

   $this-id = $request-getParameter('id');
   $evaluations = Doctrine_Core::getTable('Evaluation')-
getEvaluationbycustomer(2);

   $fp = fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

   foreach ($evaluations as $fields) {
   fputcsv($fp, $fields);
}

fclose($fp);

$fichier = '/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
header('Content-Type: application/csv;name='.$fichier);
header('Content-Disposition: attachment;filename='.$fichier);


readfile($fichier);
return sfView::HEADER_ONLY;


   }

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr



Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet manuel brossard
Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut un
vrai export, le fichier est généré et téléchargé par le browser.

J' ai la fin (mon fichier est vide) mais pas le début car j' ai un soucis
avec le type des données récupéré. La  fonction fputcsv attends un array en
second paramètre et moi j' ai une collection .



Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :

 Le mieux est de passer par les templates.
 Tu fais la même chose de d'habitude sauf que ton template afiche les champs
 avec ton séparateur.
 Le template pourra être nommé exportationEvaluationSuccess.csv.php si tu
 mets dans ta route le paramètre sf_format

 Ainsi il te sera facile par la suite d'exporter en xls ou xml par exemple
 rien qu'en modifiant le sf_format de la route : une seule action et autant
 de templates que d'exports possibles

 /evaluation/export.csv = exportationEvaluationSuccess.csv.php
 /evaluation/export.xml = exportationEvaluationSuccess.xml.php

 par exemple.

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De
 la
 part de mantex
 Envoyé : jeudi 2 décembre 2010 14:48
 À : Symfony-fr
 Objet : [symfony-fr] export csv collection - array

 J' essai de récupérer une collection d' enregistrements en csv.

 cela fonctionne avec un tableau de tableau rempli manuellement mais poas
 lorsque j' essai de recupérer la collection evaluations

 Voici ma fonction..


 public function executeExportationEvaluation (sfWebRequest $request)

   {

   $this-id = $request-getParameter('id');
   $evaluations = Doctrine_Core::getTable('Evaluation')-
 getEvaluationbycustomer(2);

   $fp = fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
 file.csv', 'w');

   foreach ($evaluations as $fields) {
   fputcsv($fp, $fields);
}

fclose($fp);

$fichier = '/usr/share/php/symfony/data/web/monprojet/web/uploads/
 file.csv';
header('Content-Type: application/csv;name='.$fichier);
header('Content-Disposition: attachment;filename='.$fichier);


readfile($fichier);
return sfView::HEADER_ONLY;


   }

 --
 Vous recevez ce message, car vous êtes abonné au groupe Google
 Groupes Symfony-fr.
 Pour envoyer un message à ce groupe, adressez un e-mail
 à symfony...@googlegroups.com.
 Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
 http://groups.google.com/group/symfony-fr?hl=fr


 --
 Vous recevez ce message, car vous êtes abonné au groupe Google
 Groupes Symfony-fr.
 Pour envoyer un message à ce groupe, adressez un e-mail à
 symfony...@googlegroups.com.
 Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
 http://groups.google.com/group/symfony-fr?hl=fr




-- 
Cordialement,

Manuel Brossard
Twitter: twitter.com/infonel
Skype : mantex2039

Tel: + 33 9 72 17 00 41

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr



Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet Jérémy LEHERPEUR
Si tu a une collection et que tu souhaite un array, tu dois changer ta
méthode d'hydratation.
Voici un bon comparatif des méthodes d'hydratation:
http://www.amicalement-web.net/benchmark-apache-doctrine-hydrate-object-vs-array/2009/10/08/
http://www.amicalement-web.net/benchmark-apache-doctrine-hydrate-object-vs-array/2009/10/08/et
la doc de doctrine:
http://www.doctrine-project.org/documentation/manual/1_2/en/data-hydrators

Le 2 décembre 2010 16:22, manuel brossard mbross...@infonel.net a écrit :

 Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut un
 vrai export, le fichier est généré et téléchargé par le browser.

 J' ai la fin (mon fichier est vide) mais pas le début car j' ai un soucis
 avec le type des données récupéré. La  fonction fputcsv attends un array en
 second paramètre et moi j' ai une collection .



 Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :

 Le mieux est de passer par les templates.
 Tu fais la même chose de d'habitude sauf que ton template afiche les
 champs
 avec ton séparateur.
 Le template pourra être nommé exportationEvaluationSuccess.csv.php si tu
 mets dans ta route le paramètre sf_format

 Ainsi il te sera facile par la suite d'exporter en xls ou xml par exemple
 rien qu'en modifiant le sf_format de la route : une seule action et autant
 de templates que d'exports possibles

 /evaluation/export.csv = exportationEvaluationSuccess.csv.php
 /evaluation/export.xml = exportationEvaluationSuccess.xml.php

 par exemple.

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De
 la
 part de mantex
 Envoyé : jeudi 2 décembre 2010 14:48
 À : Symfony-fr
 Objet : [symfony-fr] export csv collection - array

 J' essai de récupérer une collection d' enregistrements en csv.

 cela fonctionne avec un tableau de tableau rempli manuellement mais poas
 lorsque j' essai de recupérer la collection evaluations

 Voici ma fonction..


 public function executeExportationEvaluation (sfWebRequest $request)

   {

   $this-id = $request-getParameter('id');
   $evaluations = Doctrine_Core::getTable('Evaluation')-
 getEvaluationbycustomer(2);

   $fp = fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
 file.csv', 'w');

   foreach ($evaluations as $fields) {
   fputcsv($fp, $fields);
}

fclose($fp);

$fichier = '/usr/share/php/symfony/data/web/monprojet/web/uploads/
 file.csv';
header('Content-Type: application/csv;name='.$fichier);
header('Content-Disposition: attachment;filename='.$fichier);


readfile($fichier);
return sfView::HEADER_ONLY;


   }

 --
 Vous recevez ce message, car vous êtes abonné au groupe Google
 Groupes Symfony-fr.
 Pour envoyer un message à ce groupe, adressez un e-mail
 à symfony...@googlegroups.com.
 Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
 http://groups.google.com/group/symfony-fr?hl=fr


 --
 Vous recevez ce message, car vous êtes abonné au groupe Google
 Groupes Symfony-fr.
 Pour envoyer un message à ce groupe, adressez un e-mail à
 symfony...@googlegroups.com.
 Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
 http://groups.google.com/group/symfony-fr?hl=fr




 --
 Cordialement,

 Manuel Brossard
 Twitter: twitter.com/infonel
 Skype : mantex2039

 Tel: + 33 9 72 17 00 41

  --
 Vous recevez ce message, car vous êtes abonné au groupe Google
 Groupes Symfony-fr.
 Pour envoyer un message à ce groupe, adressez un e-mail à
 symfony...@googlegroups.com.
 Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
 http://groups.google.com/group/symfony-fr?hl=fr




-- 
Jérémy LEHERPEUR
jer...@leherpeur.net

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr



RE: [symfony-fr] export csv collection - array

2010-12-02 Par sujet Lélio ML
À la fin de ta action, tu forces les header.
Allez, je suis sympa. Voici ceux que j'utilise quand je veux forcer le
téléchargement ;)

   $this-getResponse()-clearHttpHeaders();
$this-getResponse()-setHttpHeader('Pragma', 'public', true);
$this-getResponse()-setHttpHeader('Cache-Control', 'no-store,
no-cache, must-revalidate');
$this-getResponse()-setHttpHeader('Expires', '0');
$this-getResponse()-setHttpHeader('Content-Type',
'application/octet-stream');
$this-getResponse()-setHttpHeader('Content-Disposition', sprintf('%s;
filename=%s', 'attachment', $filename));
$this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
'binary');
$this-getResponse()-sendHttpHeaders();

-Message d'origine-
De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De la
part de manuel brossard
Envoyé : jeudi 2 décembre 2010 16:23
À : symfony-fr@googlegroups.com
Objet : Re: [symfony-fr] export csv collection - array

Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut un
vrai export, le fichier est généré et téléchargé par le browser. 

J' ai la fin (mon fichier est vide) mais pas le début car j' ai un soucis
avec le type des données récupéré. La  fonction fputcsv attends un array en
second paramètre et moi j' ai une collection .




Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :


Le mieux est de passer par les templates.
Tu fais la même chose de d'habitude sauf que ton template afiche les
champs
avec ton séparateur.
Le template pourra être nommé exportationEvaluationSuccess.csv.php
si tu
mets dans ta route le paramètre sf_format

Ainsi il te sera facile par la suite d'exporter en xls ou xml par
exemple
rien qu'en modifiant le sf_format de la route : une seule action et
autant
de templates que d'exports possibles

/evaluation/export.csv = exportationEvaluationSuccess.csv.php
/evaluation/export.xml = exportationEvaluationSuccess.xml.php

par exemple.

-Message d'origine-
De : symfony-fr@googlegroups.com
[mailto:symfony...@googlegroups.com] De la
part de mantex
Envoyé : jeudi 2 décembre 2010 14:48
À : Symfony-fr
Objet : [symfony-fr] export csv collection - array


J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement mais
poas
lorsque j' essai de recupérer la collection evaluations

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest $request)

  {

  $this-id = $request-getParameter('id');
  $evaluations = Doctrine_Core::getTable('Evaluation')-
getEvaluationbycustomer(2);

  $fp =
fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

  foreach ($evaluations as $fields) {
  fputcsv($fp, $fields);
   }

   fclose($fp);

   $fichier =
'/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
   header('Content-Type: application/csv;name='.$fichier);
   header('Content-Disposition: attachment;filename='.$fichier);


   readfile($fichier);
   return sfView::HEADER_ONLY;


  }

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com
mailto:symfony-fr%2bunsubscr...@googlegroups.com .
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com
mailto:symfony-fr%2bunsubscr...@googlegroups.com .
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr






--
Cordialement,

Manuel Brossard
Twitter: twitter.com/infonel
Skype : mantex2039

Tel: + 33 9 72 17 00 41



--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe :

Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet Jérémy LEHERPEUR
le execute n'est disponible que sur Doctrine_Query.

 $evaluations = *Doctrine*::getTable('Evaluation') -*createQuery*('e')
-select('e.champ1, e.champ2') -where('e.customer_id = ?', 2)-
execute(array(),Doctrine::HYDRATE_ARRAY);


Remplace champ1, champ2 par ce que tu a besoin.

C'est mieux ?

Le 2 décembre 2010 16:34, manuel brossard mbross...@infonel.net a écrit :

 Oui sympa mais c' est pas cela qui pose pb simplement la création du
 fichier depuis ma collection.

 $evaluations =
 Doctrine::getTable('Evaluation')-getEvaluationbycustomer(2)-execute(array(),Doctrine::HYDRATE_ARRAY);

 *fatal error*: Call to undefined method Doctrine_Collection::execute() in
 *
 /usr/share/php/symfony/data/web/p18i/apps/backend/modules/consultant/actions/actions.class.php
 * on line *246*



 Le 2 décembre 2010 16:32, Lélio ML mailing-l...@lelio.fr a écrit :

 À la fin de ta action, tu forces les header.
 Allez, je suis sympa. Voici ceux que j'utilise quand je veux forcer le
 téléchargement ;)

   $this-getResponse()-clearHttpHeaders();
$this-getResponse()-setHttpHeader('Pragma', 'public', true);
$this-getResponse()-setHttpHeader('Cache-Control', 'no-store,
 no-cache, must-revalidate');
$this-getResponse()-setHttpHeader('Expires', '0');
$this-getResponse()-setHttpHeader('Content-Type',
 'application/octet-stream');
$this-getResponse()-setHttpHeader('Content-Disposition', sprintf('%s;
 filename=%s', 'attachment', $filename));
$this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
 'binary');
$this-getResponse()-sendHttpHeaders();

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De
 la
 part de manuel brossard
 Envoyé : jeudi 2 décembre 2010 16:23
 À : symfony-fr@googlegroups.com
 Objet : Re: [symfony-fr] export csv collection - array

 Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut un
 vrai export, le fichier est généré et téléchargé par le browser.

 J' ai la fin (mon fichier est vide) mais pas le début car j' ai un soucis
 avec le type des données récupéré. La  fonction fputcsv attends un array
 en
 second paramètre et moi j' ai une collection .




 Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :


Le mieux est de passer par les templates.
Tu fais la même chose de d'habitude sauf que ton template afiche
 les
 champs
avec ton séparateur.
Le template pourra être nommé exportationEvaluationSuccess.csv.php
 si tu
mets dans ta route le paramètre sf_format

Ainsi il te sera facile par la suite d'exporter en xls ou xml par
 exemple
rien qu'en modifiant le sf_format de la route : une seule action et
 autant
de templates que d'exports possibles

/evaluation/export.csv = exportationEvaluationSuccess.csv.php
/evaluation/export.xml = exportationEvaluationSuccess.xml.php

par exemple.

-Message d'origine-
De : symfony-fr@googlegroups.com
 [mailto:symfony...@googlegroups.com] De la
part de mantex
Envoyé : jeudi 2 décembre 2010 14:48
À : Symfony-fr
Objet : [symfony-fr] export csv collection - array


J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement mais
 poas
lorsque j' essai de recupérer la collection evaluations

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest
 $request)

  {

  $this-id = $request-getParameter('id');
  $evaluations = Doctrine_Core::getTable('Evaluation')-
getEvaluationbycustomer(2);

  $fp =
 fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

  foreach ($evaluations as $fields) {
  fputcsv($fp, $fields);
   }

   fclose($fp);

   $fichier =
 '/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
   header('Content-Type: application/csv;name='.$fichier);
   header('Content-Disposition: attachment;filename='.$fichier);


   readfile($fichier);
   return sfView::HEADER_ONLY;


  }

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse

 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 mailto:symfony-fr%2bunsubscr...@googlegroups.comsymfony-fr%252bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


--
Vous recevez ce message, car vous êtes abonné au groupe Google
 Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un 

Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet manuel brossard
J' ai déja une fonction getEvaluationbycustomer() qui fait la requête..



Le 2 décembre 2010 16:44, Jérémy LEHERPEUR jer...@leherpeur.net a écrit :

 le execute n'est disponible que sur Doctrine_Query.

  $evaluations = *Doctrine*::getTable('Evaluation') -*createQuery*('e')
 -select('e.champ1, e.champ2') -where('e.customer_id = ?', 2)-
 execute(array(),Doctrine::HYDRATE_ARRAY);


 Remplace champ1, champ2 par ce que tu a besoin.

 C'est mieux ?

 Le 2 décembre 2010 16:34, manuel brossard mbross...@infonel.net a écrit
 :

 Oui sympa mais c' est pas cela qui pose pb simplement la création du
 fichier depuis ma collection.

 $evaluations =
 Doctrine::getTable('Evaluation')-getEvaluationbycustomer(2)-execute(array(),Doctrine::HYDRATE_ARRAY);

 *fatal error*: Call to undefined method Doctrine_Collection::execute() in
 *
 /usr/share/php/symfony/data/web/p18i/apps/backend/modules/consultant/actions/actions.class.php
 * on line *246*



  Le 2 décembre 2010 16:32, Lélio ML mailing-l...@lelio.fr a écrit :

 À la fin de ta action, tu forces les header.
 Allez, je suis sympa. Voici ceux que j'utilise quand je veux forcer le
 téléchargement ;)

   $this-getResponse()-clearHttpHeaders();
$this-getResponse()-setHttpHeader('Pragma', 'public', true);
$this-getResponse()-setHttpHeader('Cache-Control', 'no-store,
 no-cache, must-revalidate');
$this-getResponse()-setHttpHeader('Expires', '0');
$this-getResponse()-setHttpHeader('Content-Type',
 'application/octet-stream');
$this-getResponse()-setHttpHeader('Content-Disposition',
 sprintf('%s;
 filename=%s', 'attachment', $filename));
$this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
 'binary');
$this-getResponse()-sendHttpHeaders();

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De
 la
 part de manuel brossard
 Envoyé : jeudi 2 décembre 2010 16:23
 À : symfony-fr@googlegroups.com
 Objet : Re: [symfony-fr] export csv collection - array

 Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut
 un
 vrai export, le fichier est généré et téléchargé par le browser.

 J' ai la fin (mon fichier est vide) mais pas le début car j' ai un soucis
 avec le type des données récupéré. La  fonction fputcsv attends un array
 en
 second paramètre et moi j' ai une collection .




 Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :


Le mieux est de passer par les templates.
Tu fais la même chose de d'habitude sauf que ton template afiche
 les
 champs
avec ton séparateur.
Le template pourra être nommé exportationEvaluationSuccess.csv.php
 si tu
mets dans ta route le paramètre sf_format

Ainsi il te sera facile par la suite d'exporter en xls ou xml par
 exemple
rien qu'en modifiant le sf_format de la route : une seule action
 et
 autant
de templates que d'exports possibles

/evaluation/export.csv = exportationEvaluationSuccess.csv.php
/evaluation/export.xml = exportationEvaluationSuccess.xml.php

par exemple.

-Message d'origine-
De : symfony-fr@googlegroups.com
 [mailto:symfony...@googlegroups.com] De la
part de mantex
Envoyé : jeudi 2 décembre 2010 14:48
À : Symfony-fr
Objet : [symfony-fr] export csv collection - array


J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement
 mais
 poas
lorsque j' essai de recupérer la collection evaluations

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest
 $request)

  {

  $this-id = $request-getParameter('id');
  $evaluations = Doctrine_Core::getTable('Evaluation')-
getEvaluationbycustomer(2);

  $fp =
 fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

  foreach ($evaluations as $fields) {
  fputcsv($fp, $fields);
   }

   fclose($fp);

   $fichier =
 '/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
   header('Content-Type: application/csv;name='.$fichier);
   header('Content-Disposition: attachment;filename='.$fichier);


   readfile($fichier);
   return sfView::HEADER_ONLY;


  }

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse

 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 mailto:symfony-fr%2bunsubscr...@googlegroups.comsymfony-fr%252bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


  

Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet Jérémy LEHERPEUR
Et bas passe un paramètre hydateMode a ta méthode que tu passe a ton
execute.


Le 2 décembre 2010 16:49, manuel brossard mbross...@infonel.net a écrit :

 J' ai déja une fonction getEvaluationbycustomer() qui fait la requête..



 Le 2 décembre 2010 16:44, Jérémy LEHERPEUR jer...@leherpeur.net a écrit
 :

 le execute n'est disponible que sur Doctrine_Query.

  $evaluations = *Doctrine*::getTable('Evaluation') -*createQuery*('e')
 -select('e.champ1, e.champ2') -where('e.customer_id = ?', 2)-
 execute(array(),Doctrine::HYDRATE_ARRAY);


 Remplace champ1, champ2 par ce que tu a besoin.

 C'est mieux ?

 Le 2 décembre 2010 16:34, manuel brossard mbross...@infonel.net a écrit
 :

 Oui sympa mais c' est pas cela qui pose pb simplement la création du
 fichier depuis ma collection.

 $evaluations =
 Doctrine::getTable('Evaluation')-getEvaluationbycustomer(2)-execute(array(),Doctrine::HYDRATE_ARRAY);

 *fatal error*: Call to undefined method Doctrine_Collection::execute()
 in *
 /usr/share/php/symfony/data/web/p18i/apps/backend/modules/consultant/actions/actions.class.php
 * on line *246*



  Le 2 décembre 2010 16:32, Lélio ML mailing-l...@lelio.fr a écrit :

 À la fin de ta action, tu forces les header.
 Allez, je suis sympa. Voici ceux que j'utilise quand je veux forcer le
 téléchargement ;)

   $this-getResponse()-clearHttpHeaders();
$this-getResponse()-setHttpHeader('Pragma', 'public', true);
$this-getResponse()-setHttpHeader('Cache-Control', 'no-store,
 no-cache, must-revalidate');
$this-getResponse()-setHttpHeader('Expires', '0');
$this-getResponse()-setHttpHeader('Content-Type',
 'application/octet-stream');
$this-getResponse()-setHttpHeader('Content-Disposition',
 sprintf('%s;
 filename=%s', 'attachment', $filename));
$this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
 'binary');
$this-getResponse()-sendHttpHeaders();

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com]
 De la
 part de manuel brossard
 Envoyé : jeudi 2 décembre 2010 16:23
 À : symfony-fr@googlegroups.com
 Objet : Re: [symfony-fr] export csv collection - array

 Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut
 un
 vrai export, le fichier est généré et téléchargé par le browser.

 J' ai la fin (mon fichier est vide) mais pas le début car j' ai un
 soucis
 avec le type des données récupéré. La  fonction fputcsv attends un array
 en
 second paramètre et moi j' ai une collection .




 Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :


Le mieux est de passer par les templates.
Tu fais la même chose de d'habitude sauf que ton template afiche
 les
 champs
avec ton séparateur.
Le template pourra être nommé
 exportationEvaluationSuccess.csv.php
 si tu
mets dans ta route le paramètre sf_format

Ainsi il te sera facile par la suite d'exporter en xls ou xml par
 exemple
rien qu'en modifiant le sf_format de la route : une seule action
 et
 autant
de templates que d'exports possibles

/evaluation/export.csv = exportationEvaluationSuccess.csv.php
/evaluation/export.xml = exportationEvaluationSuccess.xml.php

par exemple.

-Message d'origine-
De : symfony-fr@googlegroups.com
 [mailto:symfony...@googlegroups.com] De la
part de mantex
Envoyé : jeudi 2 décembre 2010 14:48
À : Symfony-fr
Objet : [symfony-fr] export csv collection - array


J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement
 mais
 poas
lorsque j' essai de recupérer la collection evaluations

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest
 $request)

  {

  $this-id = $request-getParameter('id');
  $evaluations = Doctrine_Core::getTable('Evaluation')-
getEvaluationbycustomer(2);

  $fp =
 fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

  foreach ($evaluations as $fields) {
  fputcsv($fp, $fields);
   }

   fclose($fp);

   $fichier =
 '/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
   header('Content-Type: application/csv;name='.$fichier);
   header('Content-Disposition: attachment;filename='.$fichier);


   readfile($fichier);
   return sfView::HEADER_ONLY;


  }

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse

 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 

Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet manuel brossard
Bingo j' ai trouvé..


1,1,1,2,4,bien,2,,1,,2,,2,,1,,parfait,0,-00-00 00:00:00,-00-00
00:00:00


J' ecris une nouvel fonction..


 public function getEvaluationbycustomerToExport($customer)
   {

$q = $this-createQuery('c')
 -where('c.customer_id = ?', $customer );

return $q-setHydrationMode(Doctrine::HYDRATE_ARRAY)-execute();

}




Le 2 décembre 2010 16:49, manuel brossard mbross...@infonel.net a écrit :

 J' ai déja une fonction getEvaluationbycustomer() qui fait la requête..



 Le 2 décembre 2010 16:44, Jérémy LEHERPEUR jer...@leherpeur.net a écrit
 :

 le execute n'est disponible que sur Doctrine_Query.

  $evaluations = *Doctrine*::getTable('Evaluation') -*createQuery*('e')
 -select('e.champ1, e.champ2') -where('e.customer_id = ?', 2)-
 execute(array(),Doctrine::HYDRATE_ARRAY);


 Remplace champ1, champ2 par ce que tu a besoin.

 C'est mieux ?

 Le 2 décembre 2010 16:34, manuel brossard mbross...@infonel.net a écrit
 :

 Oui sympa mais c' est pas cela qui pose pb simplement la création du
 fichier depuis ma collection.

 $evaluations =
 Doctrine::getTable('Evaluation')-getEvaluationbycustomer(2)-execute(array(),Doctrine::HYDRATE_ARRAY);

 *fatal error*: Call to undefined method Doctrine_Collection::execute()
 in *
 /usr/share/php/symfony/data/web/p18i/apps/backend/modules/consultant/actions/actions.class.php
 * on line *246*



  Le 2 décembre 2010 16:32, Lélio ML mailing-l...@lelio.fr a écrit :

 À la fin de ta action, tu forces les header.
 Allez, je suis sympa. Voici ceux que j'utilise quand je veux forcer le
 téléchargement ;)

   $this-getResponse()-clearHttpHeaders();
$this-getResponse()-setHttpHeader('Pragma', 'public', true);
$this-getResponse()-setHttpHeader('Cache-Control', 'no-store,
 no-cache, must-revalidate');
$this-getResponse()-setHttpHeader('Expires', '0');
$this-getResponse()-setHttpHeader('Content-Type',
 'application/octet-stream');
$this-getResponse()-setHttpHeader('Content-Disposition',
 sprintf('%s;
 filename=%s', 'attachment', $filename));
$this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
 'binary');
$this-getResponse()-sendHttpHeaders();

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com]
 De la
 part de manuel brossard
 Envoyé : jeudi 2 décembre 2010 16:23
 À : symfony-fr@googlegroups.com
 Objet : Re: [symfony-fr] export csv collection - array

 Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut
 un
 vrai export, le fichier est généré et téléchargé par le browser.

 J' ai la fin (mon fichier est vide) mais pas le début car j' ai un
 soucis
 avec le type des données récupéré. La  fonction fputcsv attends un array
 en
 second paramètre et moi j' ai une collection .




 Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :


Le mieux est de passer par les templates.
Tu fais la même chose de d'habitude sauf que ton template afiche
 les
 champs
avec ton séparateur.
Le template pourra être nommé
 exportationEvaluationSuccess.csv.php
 si tu
mets dans ta route le paramètre sf_format

Ainsi il te sera facile par la suite d'exporter en xls ou xml par
 exemple
rien qu'en modifiant le sf_format de la route : une seule action
 et
 autant
de templates que d'exports possibles

/evaluation/export.csv = exportationEvaluationSuccess.csv.php
/evaluation/export.xml = exportationEvaluationSuccess.xml.php

par exemple.

-Message d'origine-
De : symfony-fr@googlegroups.com
 [mailto:symfony...@googlegroups.com] De la
part de mantex
Envoyé : jeudi 2 décembre 2010 14:48
À : Symfony-fr
Objet : [symfony-fr] export csv collection - array


J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement
 mais
 poas
lorsque j' essai de recupérer la collection evaluations

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest
 $request)

  {

  $this-id = $request-getParameter('id');
  $evaluations = Doctrine_Core::getTable('Evaluation')-
getEvaluationbycustomer(2);

  $fp =
 fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

  foreach ($evaluations as $fields) {
  fputcsv($fp, $fields);
   }

   fclose($fp);

   $fichier =
 '/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
   header('Content-Type: application/csv;name='.$fichier);
   header('Content-Disposition: attachment;filename='.$fichier);


   readfile($fichier);
   return sfView::HEADER_ONLY;


  }

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, 

Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet manuel brossard
Juste lélio .. je perd l' extension du fichier c ' est à modifier dans

 $this-getResponse()-setHttpHeader('Content-Type','application/octet-stream');

Non ?




Le 2 décembre 2010 16:32, Lélio ML mailing-l...@lelio.fr a écrit :

 À la fin de ta action, tu forces les header.
 Allez, je suis sympa. Voici ceux que j'utilise quand je veux forcer le
 téléchargement ;)

   $this-getResponse()-clearHttpHeaders();
$this-getResponse()-setHttpHeader('Pragma', 'public', true);
$this-getResponse()-setHttpHeader('Cache-Control', 'no-store,
 no-cache, must-revalidate');
$this-getResponse()-setHttpHeader('Expires', '0');
$this-getResponse()-setHttpHeader('Content-Type',
 'application/octet-stream');
$this-getResponse()-setHttpHeader('Content-Disposition', sprintf('%s;
 filename=%s', 'attachment', $filename));
$this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
 'binary');
$this-getResponse()-sendHttpHeaders();

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De
 la
 part de manuel brossard
 Envoyé : jeudi 2 décembre 2010 16:23
 À : symfony-fr@googlegroups.com
 Objet : Re: [symfony-fr] export csv collection - array

 Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut un
 vrai export, le fichier est généré et téléchargé par le browser.

 J' ai la fin (mon fichier est vide) mais pas le début car j' ai un soucis
 avec le type des données récupéré. La  fonction fputcsv attends un array en
 second paramètre et moi j' ai une collection .




 Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :


Le mieux est de passer par les templates.
Tu fais la même chose de d'habitude sauf que ton template afiche les
 champs
avec ton séparateur.
Le template pourra être nommé exportationEvaluationSuccess.csv.php
 si tu
mets dans ta route le paramètre sf_format

Ainsi il te sera facile par la suite d'exporter en xls ou xml par
 exemple
rien qu'en modifiant le sf_format de la route : une seule action et
 autant
de templates que d'exports possibles

/evaluation/export.csv = exportationEvaluationSuccess.csv.php
/evaluation/export.xml = exportationEvaluationSuccess.xml.php

par exemple.

-Message d'origine-
De : symfony-fr@googlegroups.com
 [mailto:symfony...@googlegroups.com] De la
part de mantex
Envoyé : jeudi 2 décembre 2010 14:48
À : Symfony-fr
Objet : [symfony-fr] export csv collection - array


J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement mais
 poas
lorsque j' essai de recupérer la collection evaluations

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest $request)

  {

  $this-id = $request-getParameter('id');
  $evaluations = Doctrine_Core::getTable('Evaluation')-
getEvaluationbycustomer(2);

  $fp =
 fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

  foreach ($evaluations as $fields) {
  fputcsv($fp, $fields);
   }

   fclose($fp);

   $fichier =
 '/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
   header('Content-Type: application/csv;name='.$fichier);
   header('Content-Disposition: attachment;filename='.$fichier);


   readfile($fichier);
   return sfView::HEADER_ONLY;


  }

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse

 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 mailto:symfony-fr%2bunsubscr...@googlegroups.comsymfony-fr%252bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


--
Vous recevez ce message, car vous êtes abonné au groupe Google
 Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
 symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 mailto:symfony-fr%2bunsubscr...@googlegroups.comsymfony-fr%252bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
 http://groups.google.com/group/symfony-fr?hl=fr






 --
 Cordialement,

 Manuel Brossard
 Twitter: twitter.com/infonel
 Skype : mantex2039

 Tel: + 33 9 72 17 00 41



 --
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Symfony-fr.
 Pour envoyer un 

Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet Jérémy LEHERPEUR
C'est plutot

 $this-getResponse()-setHttpHeader('Content-Disposition',
sprintf('%s;filename=%s', 'attachment', $filename));

Tu met ton nom dans $filename

Le 2 décembre 2010 17:25, manuel brossard mbross...@infonel.net a écrit :

 Juste lélio .. je perd l' extension du fichier c ' est à modifier dans



  
 $this-getResponse()-setHttpHeader('Content-Type','application/octet-stream');

 Non ?




 Le 2 décembre 2010 16:32, Lélio ML mailing-l...@lelio.fr a écrit :

 À la fin de ta action, tu forces les header.
 Allez, je suis sympa. Voici ceux que j'utilise quand je veux forcer le
 téléchargement ;)

   $this-getResponse()-clearHttpHeaders();
$this-getResponse()-setHttpHeader('Pragma', 'public', true);
$this-getResponse()-setHttpHeader('Cache-Control', 'no-store,
 no-cache, must-revalidate');
$this-getResponse()-setHttpHeader('Expires', '0');
$this-getResponse()-setHttpHeader('Content-Type',
 'application/octet-stream');
$this-getResponse()-setHttpHeader('Content-Disposition', sprintf('%s;
 filename=%s', 'attachment', $filename));
$this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
 'binary');
$this-getResponse()-sendHttpHeaders();

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De
 la
 part de manuel brossard
 Envoyé : jeudi 2 décembre 2010 16:23
 À : symfony-fr@googlegroups.com
 Objet : Re: [symfony-fr] export csv collection - array

 Oui j' y avais pensé mais c' est pas ce qui est démandé, le client veut un
 vrai export, le fichier est généré et téléchargé par le browser.

 J' ai la fin (mon fichier est vide) mais pas le début car j' ai un soucis
 avec le type des données récupéré. La  fonction fputcsv attends un array
 en
 second paramètre et moi j' ai une collection .




 Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a écrit :


Le mieux est de passer par les templates.
Tu fais la même chose de d'habitude sauf que ton template afiche
 les
 champs
avec ton séparateur.
Le template pourra être nommé exportationEvaluationSuccess.csv.php
 si tu
mets dans ta route le paramètre sf_format

Ainsi il te sera facile par la suite d'exporter en xls ou xml par
 exemple
rien qu'en modifiant le sf_format de la route : une seule action et
 autant
de templates que d'exports possibles

/evaluation/export.csv = exportationEvaluationSuccess.csv.php
/evaluation/export.xml = exportationEvaluationSuccess.xml.php

par exemple.

-Message d'origine-
De : symfony-fr@googlegroups.com
 [mailto:symfony...@googlegroups.com] De la
part de mantex
Envoyé : jeudi 2 décembre 2010 14:48
À : Symfony-fr
Objet : [symfony-fr] export csv collection - array


J' essai de récupérer une collection d' enregistrements en csv.

cela fonctionne avec un tableau de tableau rempli manuellement mais
 poas
lorsque j' essai de recupérer la collection evaluations

Voici ma fonction..


public function executeExportationEvaluation (sfWebRequest
 $request)

  {

  $this-id = $request-getParameter('id');
  $evaluations = Doctrine_Core::getTable('Evaluation')-
getEvaluationbycustomer(2);

  $fp =
 fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv', 'w');

  foreach ($evaluations as $fields) {
  fputcsv($fp, $fields);
   }

   fclose($fp);

   $fichier =
 '/usr/share/php/symfony/data/web/monprojet/web/uploads/
file.csv';
   header('Content-Type: application/csv;name='.$fichier);
   header('Content-Disposition: attachment;filename='.$fichier);


   readfile($fichier);
   return sfView::HEADER_ONLY;


  }

--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse

 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 mailto:symfony-fr%2bunsubscr...@googlegroups.comsymfony-fr%252bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


--
Vous recevez ce message, car vous êtes abonné au groupe Google
 Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
 symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
 symfony-fr+unsubscr...@googlegroups.comsymfony-fr%2bunsubscr...@googlegroups.com
 mailto:symfony-fr%2bunsubscr...@googlegroups.comsymfony-fr%252bunsubscr...@googlegroups.com
 .
 Pour plus d'options, consultez la page de ce groupe :
 

RE: [symfony-fr] export csv collection - array

2010-12-02 Par sujet Lélio ML
Oui
Et cette information est indépendante du vrai nom d'un fichier que tu
voudrais renvoyer avec un readfile(). C'est juste une information car tu ne
devrais pas utiliser de readfile() ici. Que se passerait-il si plusieurs
personnes demandait un export en même temps... 

-Message d'origine-
De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De la
part de Jérémy LEHERPEUR
Envoyé : jeudi 2 décembre 2010 17:30
À : symfony-fr@googlegroups.com
Objet : Re: [symfony-fr] export csv collection - array

C'est plutot

 $this-getResponse()-setHttpHeader('Content-Disposition',
sprintf('%s;filename=%s', 'attachment', $filename));


Tu met ton nom dans $filename


Le 2 décembre 2010 17:25, manuel brossard mbross...@infonel.net a écrit :


Juste lélio .. je perd l' extension du fichier c ' est à modifier
dans



$this-getResponse()-setHttpHeader('Content-Type','application/octet-stream
');


Non ? 





Le 2 décembre 2010 16:32, Lélio ML mailing-l...@lelio.fr a écrit :


À la fin de ta action, tu forces les header.
Allez, je suis sympa. Voici ceux que j'utilise quand je veux
forcer le
téléchargement ;)

  $this-getResponse()-clearHttpHeaders();
   $this-getResponse()-setHttpHeader('Pragma', 'public',
true);
   $this-getResponse()-setHttpHeader('Cache-Control',
'no-store,
no-cache, must-revalidate');
   $this-getResponse()-setHttpHeader('Expires', '0');
   $this-getResponse()-setHttpHeader('Content-Type',
'application/octet-stream');

$this-getResponse()-setHttpHeader('Content-Disposition', sprintf('%s;
filename=%s', 'attachment', $filename));

$this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
'binary');
   $this-getResponse()-sendHttpHeaders();


-Message d'origine-
De : symfony-fr@googlegroups.com
[mailto:symfony...@googlegroups.com] De la

part de manuel brossard
Envoyé : jeudi 2 décembre 2010 16:23
À : symfony-fr@googlegroups.com
Objet : Re: [symfony-fr] export csv collection - array


Oui j' y avais pensé mais c' est pas ce qui est démandé, le
client veut un
vrai export, le fichier est généré et téléchargé par le
browser.

J' ai la fin (mon fichier est vide) mais pas le début car j'
ai un soucis
avec le type des données récupéré. La  fonction fputcsv
attends un array en
second paramètre et moi j' ai une collection .




Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr a
écrit :


   Le mieux est de passer par les templates.
   Tu fais la même chose de d'habitude sauf que ton
template afiche les
champs
   avec ton séparateur.
   Le template pourra être nommé
exportationEvaluationSuccess.csv.php
si tu
   mets dans ta route le paramètre sf_format

   Ainsi il te sera facile par la suite d'exporter en
xls ou xml par
exemple
   rien qu'en modifiant le sf_format de la route : une
seule action et
autant
   de templates que d'exports possibles

   /evaluation/export.csv =
exportationEvaluationSuccess.csv.php
   /evaluation/export.xml =
exportationEvaluationSuccess.xml.php

   par exemple.

   -Message d'origine-
   De : symfony-fr@googlegroups.com
[mailto:symfony...@googlegroups.com] De la
   part de mantex
   Envoyé : jeudi 2 décembre 2010 14:48
   À : Symfony-fr
   Objet : [symfony-fr] export csv collection - array


   J' essai de récupérer une collection d'
enregistrements en csv.

   cela fonctionne avec un tableau de tableau rempli
manuellement mais
poas
   lorsque j' essai de recupérer la collection
evaluations

   Voici ma fonction..


   public function executeExportationEvaluation
(sfWebRequest $request)

 {

 $this-id = 

Re: [symfony-fr] export csv collection - array

2010-12-02 Par sujet manuel brossard
Réponse : les fichiers seront indexés sur l' id du client.

C' est ce que je fait mais il l' appel ExportationEvaluation.. au lieu de
file.csv



Le 2 décembre 2010 17:35, Lélio ML mailing-l...@lelio.fr a écrit :

 Oui
 Et cette information est indépendante du vrai nom d'un fichier que tu
 voudrais renvoyer avec un readfile(). C'est juste une information car tu ne
 devrais pas utiliser de readfile() ici. Que se passerait-il si plusieurs
 personnes demandait un export en même temps...

 -Message d'origine-
 De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De
 la
 part de Jérémy LEHERPEUR
 Envoyé : jeudi 2 décembre 2010 17:30
 À : symfony-fr@googlegroups.com
 Objet : Re: [symfony-fr] export csv collection - array

 C'est plutot

  $this-getResponse()-setHttpHeader('Content-Disposition',
 sprintf('%s;filename=%s', 'attachment', $filename));


 Tu met ton nom dans $filename


 Le 2 décembre 2010 17:25, manuel brossard mbross...@infonel.net a écrit
 :


Juste lélio .. je perd l' extension du fichier c ' est à modifier
 dans




 $this-getResponse()-setHttpHeader('Content-Type','application/octet-stream
 ');


Non ?





Le 2 décembre 2010 16:32, Lélio ML mailing-l...@lelio.fr a écrit
 :


À la fin de ta action, tu forces les header.
Allez, je suis sympa. Voici ceux que j'utilise quand je veux
 forcer le
téléchargement ;)

  $this-getResponse()-clearHttpHeaders();
   $this-getResponse()-setHttpHeader('Pragma', 'public',
 true);
   $this-getResponse()-setHttpHeader('Cache-Control',
 'no-store,
no-cache, must-revalidate');
   $this-getResponse()-setHttpHeader('Expires', '0');
   $this-getResponse()-setHttpHeader('Content-Type',
'application/octet-stream');

 $this-getResponse()-setHttpHeader('Content-Disposition', sprintf('%s;
filename=%s', 'attachment', $filename));

 $this-getResponse()-setHttpHeader('Content-Transfer-Encoding',
'binary');
   $this-getResponse()-sendHttpHeaders();


-Message d'origine-
De : symfony-fr@googlegroups.com
 [mailto:symfony...@googlegroups.com] De la

part de manuel brossard
Envoyé : jeudi 2 décembre 2010 16:23
À : symfony-fr@googlegroups.com
Objet : Re: [symfony-fr] export csv collection - array


Oui j' y avais pensé mais c' est pas ce qui est démandé, le
 client veut un
vrai export, le fichier est généré et téléchargé par le
 browser.

J' ai la fin (mon fichier est vide) mais pas le début car j'
 ai un soucis
avec le type des données récupéré. La  fonction fputcsv
 attends un array en
second paramètre et moi j' ai une collection .




Le 2 décembre 2010 14:52, Lélio ML mailing-l...@lelio.fr
 a
 écrit :


   Le mieux est de passer par les templates.
   Tu fais la même chose de d'habitude sauf que ton
 template afiche les
champs
   avec ton séparateur.
   Le template pourra être nommé
 exportationEvaluationSuccess.csv.php
si tu
   mets dans ta route le paramètre sf_format

   Ainsi il te sera facile par la suite d'exporter en
 xls ou xml par
exemple
   rien qu'en modifiant le sf_format de la route : une
 seule action et
autant
   de templates que d'exports possibles

   /evaluation/export.csv =
 exportationEvaluationSuccess.csv.php
   /evaluation/export.xml =
 exportationEvaluationSuccess.xml.php

   par exemple.

   -Message d'origine-
   De : symfony-fr@googlegroups.com
[mailto:symfony...@googlegroups.com] De la
   part de mantex
   Envoyé : jeudi 2 décembre 2010 14:48
   À : Symfony-fr
   Objet : [symfony-fr] export csv collection - array


   J' essai de récupérer une collection d'
 enregistrements en csv.

   cela fonctionne avec un tableau de tableau rempli
 manuellement mais
poas
   lorsque j' essai de recupérer la collection
 evaluations

   Voici ma fonction..


   public function executeExportationEvaluation
 (sfWebRequest $request)

 {

 $this-id = $request-getParameter('id');
 $evaluations =
 Doctrine_Core::getTable('Evaluation')-
   getEvaluationbycustomer(2);

 $fp =