Ver Mensaje Individual
  #13 (permalink)  
Antiguo 04/05/2013, 13:14
mandygr87
 
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.