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.com<symfony-fr%2bunsubscr...@googlegroups.com>
> <mailto:symfony-fr%2bunsubscr...@googlegroups.com<symfony-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.com<symfony-fr%2bunsubscr...@googlegroups.com>
> <mailto:symfony-fr%2bunsubscr...@googlegroups.com<symfony-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 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<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<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 : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à