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)); ?>">
< Anterior
</a> |
<?php else: ?>
<span class="disabled">< 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 >
</a>
<?php else: ?>
<span class="disabled">Siguiente ></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:
Message: SQLSTATE[HY093]: Invalid parameter number: no 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.