IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Ajout de paramètres de requête dans action [ZF 1.9]


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Par défaut Ajout de paramètres de requête dans action
    Bonjour à tous,

    je souhaiterais ajouter un paramètre à ma requête à partir de mon action (ceci dans le but de gérer correctement la pagination en fonction d'un paramètre de recherche).

    Je pensais qu'un simple $this->getRequest()->setParam('search', $searchString); suffirait mais ce n'est apparemment pas le cas...

    Comment puis-je gérer cela ?

    Merci,

    auré

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    qu'est ce que tu veux mettre comme information supplémentaire ?
    montre nous un exemple et la requête que tu aimerais obtenir

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Par défaut
    Voici mon code, lors de l'envoi du formulaire, je peux détecter qu'on est dans un "mode de recherche" grâce à isPost() et récupérer la chaîne de recherche, mais lorsque je passe sur une autre page de la pagination, je voulais utiliser un paramètre de la requête pour rester en "mode de recherche".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
            public function indexAction()
            {
                $plans = new Default_Model_DbTable_Plans();
     
                if($this->_request->isPost() || $this->getRequest()->getParam('search') != '')
                {
                    if($this->_request->isPost())
                    {
                        $data = $this->_request->getPost();
                        $searchString = $data['searchString'];
                        $this->getRequest()->setParam('search', $searchString);
     
                        $this->view->test = $this->getRequest()->getParam('search');
                    }                
                    else
                    {
                        $searchString = $this->getRequest()->getParam('search');
                    }
     
                    $queryParams = "my_field LIKE '%$searchString%' ";
     
                    $paginator = Zend_Paginator::factory($plans->fetchAll(array($queryParams)));
                }
                else
                {
                    $paginator = Zend_Paginator::factory($plans->fetchAll());
                }
     
                $paginator->setItemCountPerPage(30);
                 $paginator->setCurrentPageNumber($this->getRequest()->getParam('page'));
     
                $this->view->plansArray = $paginator;
     
                $searchForm = new Default_Form_SearchPlans();
                $searchForm->setAction($this->view->url(array('controller' => 'plan'), 'default', true));
                $this->view->searchForm = $searchForm;
            }
    J'espère que c'est un peu plus clair...

    Merci,

    auré

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    à la place de "$plans->fetchAll(array($queryParams))" il faut que tu fasses ce qui est là dans fetchAll :
    http://julien-pauli.developpez.com/t...=Zend_Db#LIX-F

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Par défaut
    Merci nosferapti, mais là n'est pas le problème, mon fetchAll récupère bien les bonnes valeurs en fonction de la recherche...

    Mon problème est: comment garder la valeur de recherche entre les différents appels des pages de pagination ?

    Lors du premier appel de recherche, je peux récupérer la valeur via le formulaire mais par la suite je dois le rendre disponible pour les autres requêtes liées à la pagination...

    Merci,

    auré

  6. #6
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par aure298 Voir le message
    Mon problème est: comment garder la valeur de recherche entre les différents appels des pages de pagination ?
    ah j'avais mal compris
    montre nous le code de la vue où tu affiches la liste des liens vers les autres pages

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Passer paramètre à une requête dans un formulaire
    Par John Parker dans le forum IHM
    Réponses: 1
    Dernier message: 28/04/2015, 16h34
  2. Récupérer un paramètre de requête dans une class Action
    Par cherif ahmed dans le forum Struts 1
    Réponses: 0
    Dernier message: 08/02/2014, 16h57
  3. Réponses: 3
    Dernier message: 23/06/2010, 11h14
  4. ajouter un paramètre à une requête
    Par Cram_N7 dans le forum Struts 2
    Réponses: 1
    Dernier message: 24/08/2009, 11h22
  5. Ajouter deux paramètres à une action dans un lien.
    Par Alexandre T dans le forum Struts 1
    Réponses: 4
    Dernier message: 27/08/2007, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo