Te muestro lo que hice yo agregue variables de session para funcione el
paginator, ademas desde el formulario se envia en que base de datos buscar:

if((empty($this->data)) && (!$this->Session->read('busq'))) {
                    $this->Session->setFlash('Introduzca término para la
busqueda');
                    $this->redirect(array('controller' => 'inicio','action'
=> 'index'));
                } elseif(!empty($this->data)) {
                    $this->Session->write('busq',
$this->data['Noticia']['busqueda']);
                    $this->Session->delete('busqdesde');
                    $this->Session->delete('busqhasta');
                    $this->Session->delete('busqbasedatos');
                }
                if(strlen($this->Session->read('busq')) < 4) {
                    $this->Session->setFlash('El término de busqueda debe
tener mas de 4 caracteres');
                    $this->redirect(array('controller' => 'inicio','action'
=> 'index'));
                }
                if(!empty($this->data['Noticia']['desde'])) {
                    $fechadesde = explode('/',
$this->data['Noticia']['desde']);
                    $this->Session->write('busqdesde',
$fechadesde[2].'-'.$fechadesde[1].'-'.$fechadesde[0]);
                }
                if(!empty($this->data['Noticia']['hasta'])) {
                    $fechahasta = explode('/',
$this->data['Noticia']['hasta']);
                    $this->Session->write('busqhasta',
$fechahasta[2].'-'.$fechahasta[1].'-'.$fechahasta[0]);
                }
                if(!empty($this->data['Noticia']['basedatos'])) {
                    $this->Session->write('busqbasedatos',
$this->data['Noticia']['basedatos']);
                }
                switch ($this->Session->read('busqbasedatos')) {
                    case 0:
                        $condnot[] = array('Noticia.titulo LIKE' =>
'%'.$this->Session->read('busq').'%');
                        if($this->Session->read('busqdesde')) {
                            $condnot[] = array("DATE(Noticia.fecha_y_hora)
>= DATE('".$this->Session->read('busqdesde')."')");
                        }
                        if($this->Session->read('busqhasta')) {
                            $condnot[] = array("DATE(Noticia.fecha_y_hora)
<= DATE('".$this->Session->read('busqhasta')."')");
                        }
                        $this->paginate = array(
                            'Noticia' => array(
                                'conditions' => array(
                                    'AND' => $condnot
                                ),
                                'order' =>
array('DATE(Noticia.fecha_y_hora) DESC', 'Noticia.orden ASC',
'Noticia.fecha_y_hora'),
                                'limit' => 10
                            )
                        );
                        $this->set('noticias', $this->paginate('Noticia'));
                        break;
                    case 1:
                        $condnotv[] = array('Noticiav.TITULO LIKE' =>
'%'.$this->Session->read('busq').'%');
                        if($this->Session->read('busqdesde')) {
                            $condnotv[] = array("DATE(Noticiav.FECHA) >=
DATE('".$this->Session->read('busqdesde')."')");
                        }
                        if($this->Session->read('busqhasta')) {
                            $condnotv[] = array("DATE(Noticiav.FECHA) <=
DATE('".$this->Session->read('busqhasta')."')");
                        }
                        $this->Noticiav->recursive = 1;
                        $this->paginate = array(
                            'Noticiav' => array(
                                'fields' =>
array('Noticiav.NUMERONOTICIA','Noticiav.FECHA','Noticiav.HORA','Noticiav.VOLANTA','Noticiav.TITULO','Noticiav.RESUMEN','Noticiav.ORDEN'),
                                'conditions' => array(
                                    'AND' => $condnotv
                                ),
                                'order' => array('Noticiav.FECHA DESC',
'Noticiav.ORDEN ASC', 'Noticiav.HORA'),
                                'limit' => 10
                            )
                        );
                        $this->set('noticiasv',
$this->paginate('Noticiav'));
                        break;
                }

El 20 de abril de 2012 14:51, pablo <arnuspa...@gmail.com> escribió:

> Gente, gracias por la ayuda que me vienen dando.
> Otra consulta.
> Tengo una pantalla con multiples campos para completar para una busqueda.
> mitabla.id
> mitabla.apellido
> mitabla.nombre
> mitabla.ciudad
> LO que quiero es que al realizar la busqueda, si el usuario ingresa un
> dato en el campo "mitabla.id", automaticamente, los demas campos se
> deshabiliten para el ingreso de datos. Y asi con distintas combinaciones
> que seleccionare segun la logica a seguir.
> Como hago para realizar esto?
> mil gracias
> Pablo
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> Grupos de Google.
> Para ver este debate en la Web, visita
> https://groups.google.com/d/msg/cakephp-es/-/w9BKMLVZR4sJ.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> cakephp-es@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> cakephp-es+unsubscr...@googlegroups.com
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/cakephp-es?hl=es.
>

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a