Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-11-2015 00:42:21

JulienLeMoine
Nouveau membre
Date d'inscription: 17-10-2015
Messages: 5

Export de données via un formulaire

Bonjour,

Je vous expose mon problème auquel je suis confronté.

Je travaille avec Zend, architecture MVC.

Je suis débutant dans ce domaine et je cherche un peu d'aide !

Je dispose d'un formulaire avec des champs à remplir. C'est un formulaire de recherche qui me renvoie ensuite les résultats de la requête sous forme de tableaux avec titres et valeurs correspondantes. Je dois pouvoir, via un boutton, exporter ces données.

Le code de ma fonction se présente sous cette forme :

Code:

[lang=php]
public function ma_fonction()
{
  $form = new Formulaire();
  if($this->_request->isPost()) {

    if($form->isValid($_POST)) {
      $valeurs = $form->getValues();
      //creation des tableaux de donnees avec les valeurs du formulaire et envoi à ma vue.
      if ($export != NULL) {
        //téléchargement de mon tableau de donnees
      }
    }
  }
  $this->view->form = $form;
}

Afin de faire le bouton d'export. J'ai rajouté un lien vers cette même fonction où j'envoie en plus une variable m'indiquant si il s'agit bien d'un export ou non.

Mon problème avec le code, et quand je clique sur le bouton d'export, il n'y a plus les données, du coup je ne rentre meme pas adns le premier if afin de traiter les données et lancer le téléchargement de l'export. Avez vosu une idée ?
Je vous remercie.

Dernière modification par JulienLeMoine (05-11-2015 12:57:19)

Hors ligne

 

#2 04-11-2015 12:51:31

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 432

Re: Export de données via un formulaire

Bonjour,
Bienvenue sur le forum

Pour plus de lisibilité sur ton code je me suis permis de l'éditer, pense a utiliser les balises 'code' pour fournir aux lecteurs un exposé clair et précis, c'est toujours plus agréablede lire du code bien indenté.

Pour ton problème, si tu ne repost, pas les valeur de ton formulaire c'est normal que tu n'ai rien. Une fois que l'utilisateur à construit son formulaire de recherche et validé, présente lui tes donnés et retourne aussi sous forme JSON ou autre dans une balise cachée tes datas à exporter, et lors du clic sur le bouton tu ne revalide pas le formulaire mais tu envoie juste les données a exporter.

Il y a plein d'autre solutions.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#3 05-11-2015 01:11:10

JulienLeMoine
Nouveau membre
Date d'inscription: 17-10-2015
Messages: 5

Re: Export de données via un formulaire

Bonsoir JGreco,

Tout d'abord, merci de ton édition, j'en tiens compte pour la prochaine fois !
Oui en effet comme dans ma méthode j'ai d'abord le premier if pour savoir si il y a des données de formulaire via $_POST. En effet, la première fois que l'utilisateur rentre les données, j'affiche le tableau par rapport à ce qu'il m'a rentré dans le formulaire. C'est là que mon bouton "Export" apparaît.

Ce que tu me conseilles de faire, c'est donc en gros "renvoyer" le tableau de données vers une autre méthode qui va se charger de faire l'export avec les datas que la méthode recoit ?

Justement je ne sais pas comment envoyer tout un tableau de données avec mon href. Je saurai el faire pour une variable ou autre.

Mon bouton se présente sous cette forme : <a href="nomController/nomMethode"> Export </a>.
A partir de là, il me faudrait donc une méthode pour envoyer mon array de données ?

Merci de ta réponse, passes une bonne nuit.

Hors ligne

 

#4 05-11-2015 10:21:22

JGreco
Modérateur
Date d'inscription: 22-12-2012
Messages: 432

Re: Export de données via un formulaire

Bonjour,

Le bouton export n'est rien d'autre qu'un appel a un contrôleur avec des données a exporter (en csb, excel ou autre).

Je fais simple :

Code:

<formulaire de recherche>
<button submit>

------------------------------

<button export>

<div caché avec les datas au format JSON>
<tableau de data rempli avec les données issue des resultats de recherche>

Et ton bouton export envoi la div caché au contrôleur, avec les datas. C'était ce que je voulais dire.
Maintenant tu peux faire autrement si tu trouve une meilleure approche.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#5 05-11-2015 10:49:15

JulienLeMoine
Nouveau membre
Date d'inscription: 17-10-2015
Messages: 5

Re: Export de données via un formulaire

Bonjour,

Je vois ce que tu veux dire, mais je ne vois pas du tout ce dont tu veux parler avec JSON.
Du coup je vais me renseigner sur ce point là.

le href, je dois le modifier du coup ? pour que le bouton "envoie la div caché".

Merci de ton aide en tous cas, j'apprends de nouvelles choses.

Dernière modification par JulienLeMoine (05-11-2015 13:02:52)

Hors ligne

 

#6 05-11-2015 13:03:07

JulienLeMoine
Nouveau membre
Date d'inscription: 17-10-2015
Messages: 5

Re: Export de données via un formulaire

Rebonjour, désolé du double post.

J'ai fais des recherches justement sur format JSON et j'ai quelques questions à te poser si tu peux y répondre !
Pour mettre mon tableau de données en format JSON je vais utiliser la fonctiono json_encode($data);

J'ai là plusieurs questions à te poser.
Quelle est l'interet de le mettre dans un div ?
Est ce que via le boutton, je pourrais seulement envoyer un div et non pas la valeur de retour de json_encode($data)? Si oui, comment se présente la forme d'un envoi d'une div ?

Imaginons que l'envoi de ma div c'est ok, il faudrait que je fasses une manip non pour que je puisses "accéder" à mon tableau format JSON pour le décoder ?

Merci de tes réponses.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages