Foros del Web » Programando para Internet » PHP » Zend »

[SOLUCIONADO] Problema zend paginator

Estas en el tema de Problema zend paginator en el foro de Zend en Foros del Web. Hola estoy paginando unos datos que obtengo de una consulta en la base de datos. El problema que tengo es que sólo se me muestra ...
  #1 (permalink)  
Antiguo 01/05/2013, 12:39
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Problema zend paginator

Hola estoy paginando unos datos que obtengo de una consulta en la base de datos. El problema que tengo es que sólo se me muestra la primera de los datos paginados, cuando pulso sobre otra pagina ya no me aparecen datos.

El código que tengo en mi controlador es este:

Código PHP:
$usuario= new Application_Model_DbTable_Usuario();
                
$rows $usuario->buscausuarios($dni,$nombre,$apellidos,$provincia,$rol);

                
Zend_Paginator::setDefaultScrollingStyle('Sliding');
                
Zend_View_Helper_PaginationControl::setDefaultViewPartial('paginator/items.phtml');
                
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Array($rows->toArray()));
                
$paginatorZend_Paginator::factory($rows);
                if (
$this->_hasParam('page')) {
                        
$paginator->setCurrentPageNumber($this->_getParam('page'));
                }

                
$this->view->rows=$paginator

En la vista:
Código PHP:
<?php if(count($this->rows)>0) {
    echo 
$this->rows;
}
?>
En application/views/scripts/paginator He creado items.phmt que contine: (está sacado del manual)
Código PHP:
<!--
See http://developer.yahoo.com/ypatterns/pattern.php?pattern=searchpagination
-->

<?php if ($this->pageCount): ?>
<div class="paginationControl">
<!-- Previous page link -->
<?php if (isset($this->previous)): ?>
  <a href="<?php echo $this->url(array('page' => $this->previous)); ?>">
    &lt; Previous
  </a> |
<?php else: ?>
  <span class="disabled">&lt; Previous</span> |
<?php endif; ?>

<!-- Numbered page links -->
<?php foreach ($this->pagesInRange as $page): ?>
  <?php if ($page != $this->current): ?>
    <a href="<?php echo $this->url(array('page' => $page)); ?>">
        <?php echo $page?>
    </a> |
  <?php else: ?>
    <?php echo $page?> |
  <?php endif; ?>
<?php 
endforeach; ?>

<!-- Next page link -->
<?php if (isset($this->next)): ?>
  <a href="<?php echo $this->url(array('page' => $this->next)); ?>">
    Next &gt;
  </a>
<?php else: ?>
  <span class="disabled">Next &gt;</span>
<?php endif; ?>
</div>
<?php endif; ?>
He estado viendo el manual y creo que me falta por agregar $paginator->setView($view); pero no sé que le tengo que pasar en $view.

No sé si será ese el problema. Me podríais orientar. Gracias
  #2 (permalink)  
Antiguo 02/05/2013, 03:31
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

Hola otra vez, he estado buscando y sigo sin dar con el problema.
He visto este tema, que creo que es exactamente lo mismo que me pasa a mí, pero no entiendo bien la solución alguien me podría ayudar.
[URL="http://www.forosdelweb.com/f182/duda-con-zend-paginator-989985/"]http://www.forosdelweb.com/f182/duda-con-zend-paginator-989985/[/URL]

Por si sirve de algo, en mi modelo tengo esto:
Código PHP:
Ver original
  1. public function buscausuarios($dni,$nombre,$apellidos,$provincia,$rol){
  2.         $row = $this->fetchAll($this->select()->where('dni LIKE ?',$dni)->where('nombre LIKE ?',$nombre)
  3.                 ->where('apellidos LIKE ?',$apellidos)->where('provincia LIKE ?',$provincia)->where('rol LIKE ?',$rol));
  4.         return $row;
  5.     }
  #3 (permalink)  
Antiguo 03/05/2013, 04:43
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

¿Alguien me puede ayudar, por favor? No consigo encontrar la solución de por qué no me muestra datos al cambiar de pagina.
  #4 (permalink)  
Antiguo 03/05/2013, 09:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema zend paginator

Nunca he usado el array para paginar, yo te recomendaría si estas usando un DbTable que uses ese adaptador, un ejemplo:

Código PHP:
Ver original
  1. $Select = $this->select();
  2. // Aqui agregas tus wheres
  3. $Paginator = Zend_Paginator::factory($Select);
  4.         $Paginator->setItemCountPerPage($this->getPageSize());
  5.         $Paginator->setCurrentPageNumber($nPage);

y ya imprimes $Paginator sin problema, solo tendrías que pasarle la pagina al modelo ($nPage).

Saludos.
  #5 (permalink)  
Antiguo 03/05/2013, 10:43
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

Muchas gracias por la ayuda.

No sé qué hago mal, pero he intentado hacerlo de la forma que me has dicho y sigo con el mismo problema.

Me he dado cuanta que al pasar de pagina y volver al pulsar en el boton submit del que formulario en el que obtengo los datos para después hacer la consulta ya me aparecen los datos ¿Puede ser por algo de eso?

Según te he entendido quedaría así:

En mi modelo:

Código PHP:
       $usuario= new Application_Model_DbTable_Usuario();
              
                
$select $usuario->select()->where('dni LIKE ?',$dni)->where('nombre LIKE ?',$nombre)
                ->
where('apellidos LIKE ?',$apellidos)->where('provincia LIKE ?',$provincia)->where('rol LIKE ?',$rol);
                
$Paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select));
                
$Paginator Zend_Paginator::factory($select);
                
$Paginator->setItemCountPerPage(2);
                
$Paginator->setCurrentPageNumber($this->_getParam('page',1));
                
$this->view->paginator=$Paginator
y en la vista:

Código PHP:
echo $this->paginationControl($this->paginator'Sliding''paginator/items.phtml'); 

No he entendido muy bien lo de pasarle la pagina al modelo..
  #6 (permalink)  
Antiguo 03/05/2013, 11:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema zend paginator

Claro, eso no lo comentaste, si vas a filtrar, tienes que hacer por GET, y aparte, tienes que pasar los datos para mantener el filtro, estos no se pasan solitos por defecto, es tu responsabilidad el pasarlos.

Saludos.
  #7 (permalink)  
Antiguo 03/05/2013, 12:04
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

Gracias por responder,no pensaba que influyese lo del formulario, soy nueva con esto y no entiendo mucho. yo obtengo mis datos de esta manera del formulario, ¿Es lo que quieres decir con GET? :
Código PHP:
Ver original
  1. $busqueda = new Application_Form_Busquedausuario();
  2.         $this->view->busqueda = $busqueda;
  3.          if ($this->getRequest()->isPost()) {
  4.  
  5.             $formData = $this->getRequest()->getPost();
  6.          
  7.             if($busqueda->isValid($formData)){
  8.  
  9.                 $dni=$busqueda->getValue('dni');
  10.                 $nombre = $busqueda->getValue('nombre');
  11.                 $apellidos=$busqueda->getValue('apellidos');
  12.                 $provincia=$busqueda->getValue('provincia');
  13.                 $rol=$busqueda->getValue('rol');
  14.  
  15.                 if(empty($dni)){
  16.                     $dni='%';
  17.                 }
  18.                 if(empty($nombre)){
  19.                     $nombre='%';
  20.                 }
  21.                 if(empty($apellidos)){
  22.                     $apellidos='%';
  23.                 }


Y a partir de ellos quiero hacer la consultar y paginar el resultado de esa consulta.

Según ví lo de pasar los datos para mantener el filtro se puede hacer por el cuarto parametro en el:

Código PHP:
echo $this->paginationControl($this->paginator'Sliding''paginator/items.phtml'); 
Pero no sé exactamente qué datos son los que tengo que pasar...

Muchas gracias por tu ayuda de nuevo.
  #8 (permalink)  
Antiguo 03/05/2013, 13:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema zend paginator

Exacto en lugar de hacerlo por POST, lo haces por GET, y así es dentro de paginator/items.phtml tienes que pasar todos los parámetros que quieras incluir así al presionar la pagina 2, se van a enviar también y no vas a perder la búsqueda.
  #9 (permalink)  
Antiguo 03/05/2013, 15:31
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

Siento ser tan pesada, soy muy ignorante en este tema. Entiendo lo que me quieres decir, pero no sé hacerlo...

He intentado hacer esto pero sigue igual:

Controlador:

Código PHP:
$busqueda = new Application_Form_Busquedausuario();
        
$this->view->busqueda $busqueda;
         if (
$this->getRequest()->isPost()) {

            
$formData $this->getRequest()->getPost();
    
            if(
$busqueda->isValid($formData)){

                
$dni=$busqueda->getValue('dni');
                
$nombre $busqueda->getValue('nombre');
                
$apellidos=$busqueda->getValue('apellidos');
                
$provincia=$busqueda->getValue('provincia');
                
$rol=$busqueda->getValue('rol');
                 
$this->view->formdata = array('dni'=>$dni,'nombre'=>$nombre,'apellidos'=>$apellidos,'provincia'=>$provincia,'rol'=>$rol); 
En la vista:

Código PHP:
echo $this->paginationControl($this->paginator'Sliding''paginator/items.phtml',$this->formdata); 
Y en paginator/items.phtml
Código PHP:
<?php $formData $this->formdata?>
Gracias de verdad por contestar.
  #10 (permalink)  
Antiguo 03/05/2013, 16:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema zend paginator

Sigues haciendo lo mismo, estas validando POST y no debes de hacer eso, no puedes paginar por POST*, tienes que hacerlo por GET.
  #11 (permalink)  
Antiguo 03/05/2013, 17:21
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

No me termino de aclarar. Quieres decir que yo tengo que enviar los datos que tomo del formulario por GET (osea que se pasen los datos a traves de la URL tipo admin/consultarusuarios/id/2/nombre/pepe/apellidos/Perez.....)

Si es así, ¿cómo puedo hacer eso? Gracias de nuevo.
  #12 (permalink)  
Antiguo 04/05/2013, 11:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema zend paginator

Así es, solamente pon tu formulario como GET, en lugar de POST.

Luego en tu paginator.phtml al crear la URL tienes que propagar las variables también.

Saludos.
  #13 (permalink)  
Antiguo 04/05/2013, 13:14
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

Vale creo que ahora ya te entiendo, pero me ha surgido otro problema...Siento ser tan pesada.

En el form he puesto:

Código PHP:
 $this->setMethod('get'); 
En mi controlador:
Código PHP:
 $busqueda = new Application_Form_Busquedausuario();
        
$this->view->busqueda $busqueda;
        
         if (
$this->getRequest()->isGet()) {

            
$formData $this->getRequest()->getQuery();
    
            if(
$busqueda->isValid($formData)){

                
$dni=$this->_getParam('dni');
                
$nombre $this->_getParam('nombre');
                
$apellidos=$this->_getParam('apellidos');
                
$provincia=$this->_getParam('provincia');
                
$rol=$this->_getParam('rol');

                 
$this->view->formdata =$formData;

                if(empty(
$dni)){
                    
$dni='%';
                }
                if(empty(
$nombre)){
                    
$nombre='%';
                }
                if(empty(
$apellidos)){
                    
$apellidos='%';
                }
                echo (
"dni:".$dni." nombre: ".$nombre." apellidos: ".$apellidos." provincia: ".$provincia." rol: ".$rol);


                
$usuario= new Application_Model_DbTable_Usuario();
                
$rows =$usuario->buscausuarios($dni,$nombre,$apellidos,$provincia,$rol);
               
                
$Paginator Zend_Paginator::factory($rows);
                
$Paginator->setItemCountPerPage(1);
                
$Paginator->setCurrentPageNumber($this->_getParam('page',1));
                
$this->view->paginator=$Paginator
En la vista:

Código PHP:
echo $this->paginationControl($this->paginator'Sliding''paginator/items.phtml',$this->formdata); 
y en items.phtml:

Código PHP:
<?php if ($this->pageCount): ?>
<div class="paginationControl">
<!-- Previous page link -->
<?php if (isset($this->previous)): ?>
  <a href="<?php echo $this->url(array('page' => $this->previous,'dni'=>$this->dni,'nombre'=>$this->nombre,'apellidos'=>$this->apellidos,'provincia'=>$this->provincia,'rol'=>$this->rol,'Buscar'=>$this->Buscar)); ?>">
    &lt; Anterior
  </a> |
<?php else: ?>
  <span class="disabled">&lt; Anterior</span> |
<?php endif; ?>

<!-- Numbered page links -->
<?php foreach ($this->pagesInRange as $page): ?>
  <?php if ($page != $this->current): ?>
    <a href="<?php echo $this->url(array('page' => $page,'dni'=>$this->dni,'nombre'=>$this->nombre,'apellidos'=>$this->apellidos,'provincia'=>$this->provincia,'rol'=>$this->rol,'Buscar'=>$this->Buscar)); ?>">
        <?php echo $page?>
    </a> |
  <?php else: ?>
    <?php echo $page?> |
  <?php endif; ?>
<?php 
endforeach; ?>

<!-- Next page link -->
<?php if (isset($this->next)): ?>
  <a href="<?php echo $this->url(array('page' => $this->next,'dni'=>$this->dni,'nombre'=>$this->nombre,'apellidos'=>$this->apellidos,'provincia'=>$this->provincia,'rol'=>$this->rol,'Buscar'=>$this->Buscar)); ?>">
    Siguiente &gt;
  </a>
<?php else: ?>
  <span class="disabled">Siguiente &gt;</span>
<?php endif; ?>
</div>
<?php endif; ?>
Lo que pasa que al pulsar la primera vez sobre el boton submit del formulario la url es de este tipo:

http://localhost/asociacion/public/admin/consultarusuarios?dni=&nombre=&apellidos=&provinci a=%25&rol=%25&Buscar=Buscar

Al pulsar la segunda vez es así:

http://localhost/asociacion/public/admin/consultarusuarios/page/2/dni//nombre//apellidos//provincia/%25/rol/%25/Buscar/Buscar

Y al pulsar la tercera vez me aparece error y dice esto:
Código PHP:
an error occurred
application error

exception information
:

MessageSQLSTATE[HY093]: Invalid parameter numberno parameters were bound

stack trace
:

#0 C:\xampp\xampp\php\PEAR\Zend\Db\Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array)
#1 C:\xampp\xampp\php\PEAR\Zend\Db\Adapter\Abstract.php(479): Zend_Db_Statement->execute(Array)
#2 C:\xampp\xampp\php\PEAR\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query(Object(Zend_Db_Table_Select), Array)
#3 C:\xampp\xampp\php\PEAR\Zend\Db\Table\Abstract.php(1529): Zend_Db_Adapter_Pdo_Abstract->query(Object(Zend_Db_Table_Select))
#4 C:\xampp\xampp\php\PEAR\Zend\Db\Table\Abstract.php(1344): Zend_Db_Table_Abstract->_fetch(Object(Zend_Db_Table_Select))
#5 C:\xampp\xampp\htdocs\asociacion\application\models\DbTable\Usuario.php(50): Zend_Db_Table_Abstract->fetchAll(Object(Zend_Db_Table_Select))
#6 C:\xampp\xampp\htdocs\asociacion\application\controllers\AdminController.php(133): Application_Model_DbTable_Usuario->buscausuarios('%', '%', '%', NULL, NULL)
#7 C:\xampp\xampp\php\PEAR\Zend\Controller\Action.php(516): AdminController->consultarusuariosAction()
#8 C:\xampp\xampp\php\PEAR\Zend\Controller\Dispatcher\Standard.php(295): Zend_Controller_Action->dispatch('consultarusuari...')
#9 C:\xampp\xampp\php\PEAR\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#10 C:\xampp\xampp\php\PEAR\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
#11 C:\xampp\xampp\php\PEAR\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#12 C:\xampp\xampp\htdocs\asociacion\public\index.php(48): Zend_Application->run()
#13 {main}  
request parameters:

array (
  
'controller' => 'admin',
  
'action' => 'consultarusuarios',
  
'page' => '3',
  
'module' => 'default',

¿Puede ser porque cambiar la forma de la url? ¿O es otra cosa que estoy mal?Gracias.
  #14 (permalink)  
Antiguo 04/05/2013, 15:48
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

Vuelto otra vez por aquí.... Creo que ya me funciona,sólo que me ha surgido un nuevo problema. Pongo lo que he hecho para que me funcione.

En el controlador:

Código PHP:
$busqueda = new Application_Form_Busquedausuario();
        
$this->view->busqueda $busqueda;

         if (
$this->getRequest()->isGet()) {

            
$formData $this->getRequest()->getQuery();

            if(
$busqueda->isValid($formData)){

                if(
$this->_hasParam('dni')&&$this->_hasParam('nombre')&&$this->_hasParam('apellidos')&&$this->_hasParam('provincia')&&$this->_hasParam('rol')){
                
$dni=$this->_getParam('dni');
                
$nombre $this->_getParam('nombre');
                
$apellidos=$this->_getParam('apellidos');
                
$provincia=$this->_getParam('provincia');
                
$rol=$this->_getParam('rol');
                
$buscar =$this->_getParam('Buscar');

                
$filtros = array();
                
$filtros['dni']=$dni;
                
$filtros['nombre']=$nombre;
                
$filtros['apellidos']=$apellidos;
                
$filtros['provincia']=$provincia;
                
$filtros['rol']=$rol;
                
$filtros['Buscar']=$buscar;
                
$this->view->filtros $filtros;

                 
$this->view->formdata =$formData;

                if(empty(
$dni)){
                    
$dni='%';
                }
                if(empty(
$nombre)){
                    
$nombre='%';
                }
                if(empty(
$apellidos)){
                    
$apellidos='%';
                }
             


                
$usuario= new Application_Model_DbTable_Usuario();
                
$rows =$usuario->buscausuarios($dni,$nombre,$apellidos,$provincia,$rol);

                
$Paginator Zend_Paginator::factory($rows);
                
$Paginator->setItemCountPerPage(1);
                if(
$this->_hasParam('page')){
                    
$Paginator->setCurrentPageNumber($this->_getParam('page',1));
                }
                
$this->view->paginator=$Paginator;
                } 
En la vista:

Código PHP:
echo $this->paginationControl($this->paginator'Sliding''paginator/items.phtml',$this->filtros); 

En items.phtml

Código PHP:
<?php $filtros $this->filtros;?>
<!--
See http://developer.yahoo.com/ypatterns/pattern.php?pattern=searchpagination
-->
<?php if ($this->pageCount): ?>
<div class="paginationControl">
<!-- Previous page link -->
<?php if (isset($this->previous)): ?>
  <a href="<?php echo $this->url(array('page' => $this->previous,'dni'=>$this->dni,'nombre'=>$this->nombre,'apellidos'=>$this->apellidos,'provincia'=>$this->provincia,'rol'=>$this->rol,'Buscar'=>$this->Buscar)); ?>">
    &lt; Anterior
  </a> |
<?php else: ?>
  <span class="disabled">&lt; Anterior</span> |
<?php endif; ?>

<!-- Numbered page links -->
<?php foreach ($this->pagesInRange as $page): ?>
  <?php if ($page != $this->current): ?>
    <a href="<?php echo $this->url(array('page' => $page,'dni'=>$this->dni,'nombre'=>$this->nombre,'apellidos'=>$this->apellidos,'provincia'=>$this->provincia,'rol'=>$this->rol,'Buscar'=>$this->Buscar)); ?>">
        <?php echo $page?>
    </a> |
  <?php else: ?>
    <?php echo $page?> |
  <?php endif; ?>
<?php 
endforeach; ?>

<!-- Next page link -->
<?php if (isset($this->next)): ?>
  <a href="<?php echo $this->url(array('page' => $this->next,'dni'=>$this->dni,'nombre'=>$this->nombre,'apellidos'=>$this->apellidos,'provincia'=>$this->provincia,'rol'=>$this->rol,'Buscar'=>$this->buscar)); ?>">
    Siguiente &gt;
  </a>
<?php else: ?>
  <span class="disabled">Siguiente &gt;</span>
<?php endif; ?>
</div>
<?php endif; ?>

Ahora el problema que me ha surgido es que en la url al volver a intentar hacer una nueva busqueda presionando en el boton submit se me agrega detras de la url que ya tenia quedando algo así.

http://localhost/asociacion/public/admin/consultarusuarios/page/2/dni//nombre//apellidos//provincia/%25/rol/%25?dni=&nombre=&apellidos=&provincia=%25&rol=%25& Buscar=Buscar


¿Cómo puedo limpiar la url para hacer una nueva búsqueda? He probado con:

$this->url(array('page' => $this->next,'dni'=>$this->dni,'nombre'=>$this->nombre,'apellidos'=>$this->apellidos,'provincia'=>$this->provincia,'rol'=>$this->rol,'Buscar'=>$this->buscar),null, true) en items.phtml pero así pierdo los datos y no me muestra nada
  #15 (permalink)  
Antiguo 04/05/2013, 20:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema zend paginator

Lo que tienes que hacer es resetear la URL en tu formulario, para que quede "limpia", eso lo puedes hacer con el url helper:
Código PHP:
Ver original
  1. echo $this->url(array(), null, true);

El tercer parámetro es si resetear o no la URL.
  #16 (permalink)  
Antiguo 05/05/2013, 03:48
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

¿Y dónde tengo que añadir eso en mi formulario? Supongo que en el botón submit, pero no sé como añadirlo.

De todas formas si añado eso en mi formulario al pulsar el botón submit la primera vez que quiera realizar una búsqueda no se pasarán mis datos por get y no podre realizar la consulta en el modelo ni la paginación en mi controlador ¿no es así?


Yo añado mi botón submit de esta manera en mi form:


Código PHP:
        $this->addElement(
                    
'submit''Buscar', array()); 
  #17 (permalink)  
Antiguo 05/05/2013, 16:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema zend paginator

En tu formulario tienes la opción de poner la URL, usando Zend_Form::setAction.

Saludos.
  #18 (permalink)  
Antiguo 06/05/2013, 03:27
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema zend paginator

Ya me funciona, lo escribo por aquí por si alguien tiene el mismo problema que yo

En la vista he puesto:

Código:
<?php echo $this->busqueda->setAction($this->url(array('controller' => 'admin',
    'action' => 'consultarusuarios'),null,true))->setMethod('get');?>

¡Muchísimas gracias por tu tiempo y tu ayuda de verdad!

Etiquetas: paginator
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 16:41.