Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luka Moura

Zend Paginator com resultado de busca

Recommended Posts

Olá!

Gostaria mto de ter um help de vocês.

Fiz uma paginação com o Zend Paginator e tudo ótimo, funcionou.

Mas tive que adicionar uma busca. Que funcionou também, só que com um porém:

- Quando clico na paginação ele não guarda a busca.

 

Os passos que fiz foram os seguintes:

- Fiz uma lista com banco de dados e paginação;

- Nesta mesma página tem uma busca, que pode ou não ser feita;

- Quando feita envia os dados da busca via post (pq eh um formulário) e faz uma nova consulta, retornando a lista da consulta com a paginação;

- Mas no link da paginação não consigo passar o retorno da busca para continuar.

 

Não sei se consegui explicar direito, mas caso não entendam o que eu fiz, gostaria de um exemplo que tenha busca com paginação só.

 

Obrigada mesmo!

 

Luka.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tive este problema estes dias. Para resolver, eu guardei os dados da busca em Zend_Session. Então, seria algo mais ou menos assim:

 

        public function indexAction ()
	{
		$busca = new Zend_Session_Namespace('busca');
		if ($this->_request->isPost()) {
                        // se foi enviado o formulário, eu limpo os dados da busca e gravo novamente o array dos dados
			$busca->unsetAll();
			$busca->busca = $this->_request->getPost();
		}
                // na hora de criar o paginator eu pego sempre do session
		$paginacao = Zend_Paginator::factory($model->busca($busca->busca));
		$paginacao->setCurrentPageNumber( intval($this->_request->getParam('page', 1) ) );
		$paginacao->setItemCountPerPage ( 10 );
		$this->view->paginator = $paginacao;	
	}
Compreendeu mais ou menos a idéia? Outra opção é passar os dados como parâmetro da URL, mas eu não gosto muito.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se foi o mesmo problema ( resusitando o tópico) mas o que tenho é que faço uma pesquisa com uma query com filtro e na primeira página tenho resultados ok e paginação, mas se clico na segunda pagina não funciona.

public function consultarAction()
    {

        $setor = $this->_getParam('setor');

        $modLotacao = new Sca_Model_Lotacao('sca');

        $resultado = $modLotacao->getConsultaTelefones($setor);

        $busca = new Zend_Session_Namespace('busca');

        if ($this->_request->isPost()) {
            $busca->unsetAll();
            $busca->busca = $this->_request->getPost();
        }

        $paginator = Zend_Paginator::factory($resultado($busca->busca));
        $paginator->setItemCountPerPage(5);
        $paginator->setPageRange(7);
        $paginator->setCurrentPageNumber(intval($this->_request->getParam('pagina', 1)));

        $this->view->paginator = $paginator;    

    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.