Hola Omaira, Como ya muchas cosas están hechas, igual no necesitas implementar filtros en tu aplicación si utilizas este plugin:
https://github.com/CakeDC/search Te ayudará a implementar de forma estándar las búsquedas y filtros de datos en tu aplicación para tablas. No relacionado con tu pregunta, observo que hay mucha lógica presente en este controlador, te recomendaría que movieras toda esta lógica a métodos en el modelo. La función "consulta()" no pinta bien en el controlador, es una violación de MVC. Para tu referencia sobre estos puntos: http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html http://bakery.cakephp.org/articles/Auzigog/2008/12/29/where-should-my-code-go Espero haberte ayudado. Saludos. On Wednesday, September 17, 2014 9:31:45 PM UTC+1, Omaira Rey wrote: > > Buenas Tardes > > Me pueden ayudar a filtar por fecha mi proyecto tiene 3 formularios en el > primer formulario el filtro me funciona y en el segundo ya no y no se > porque las variables ya las mire y creo que no son. me pueden ayudar > > * este es mi controlador :* > > function index() { > $this->layout = 'plantilla'; > //el filto de la fecha > $fecha1 = date('Y-m-d', > strtotime($this->data['Medico']['fechamedico2'])); > $fecha2 = date('Y-m-d', > strtotime($this->data['Medico']['fechamedico3'])); > // debug($remisionfinales); > if (!empty($this->data['Medico']['fechamedico2']) && > !empty($this->data['Medico']['fechamedico3'])): //Aqui preguntamos si > tenemos las fechas > //Si hay fechas entonces hacemos nuestra consulta filtrando > por fecha > $remisionfinales = $this->Medico->find('all', > array('conditions' => array('Medico.fechamedico BETWEEN ? AND ?' => > array($fecha1, $fecha2)),'order'=>array('Medico.id DESC', > 'Medico.fechamedico DESC'))); > else: > //Si no tenemos datos en los campos fecha que me busque todos > los pacientes > $remisionfinales = $this->Medico->find('all', > array('order'=>array('Medico.id DESC', 'Medico.fechamedico DESC'))); > endif; > // debug($remisionfinales); > $medico = 'SELECT ID_IDEN_USUA, NO_NOMB_USUA FROM USUARIOS WHERE > CD_CODI_PERF_USUA=5'; > $medico = consulta($medico); > // $this->data['Medico']['fechamedico'] = date('Y-m-d H:i:s', > strtotime($this->data['Medico']['fechamedico2'])); > //preceimiento para los datos traidos de cnt > foreach ($remisionfinales as $key => $value): > foreach ($medico as $key2 => $value2): > if ($medico[$key2][1] == > $remisionfinales[$key]['Paciente']['medico']): > $remisionfinales[$key]['Paciente']['nombre_medico'] = > $medico[$key2][1]; > endif; > > endforeach; > endforeach; > $this->set(compact('remisionfinales')); > $this->set('cabecea_pagina', 'remisionfinale'); > $this->set('accion', 'index'); > // debug($medicos); > $estadoremisiones = $this->Estadoremisione->find('list', > array('fields' => array('id', 'estadoremisione'))); > $this->set('estadoremisiones', $estadoremisiones); > $this->set('remisionfinales', $remisionfinales); > } > > > > * y este es mi index:* > <div class="box-content"> > <?php echo $this->Form->create('Remisionfinale', array('url' => > array('controller' => 'remisionfinales', 'action' => 'index'))); ?> > > <tr> > <td align="right" nowrap="nowrap"><p>Fecha inicial:</p></td> > <td width="151" class='cajasbig'><?php echo > $this->Form->input('fechamedico2', array('type' => 'text', 'label' => > false, 'class' => 'input-xlarge datepicker')); ?></td> > </tr> > > <td align="right" nowrap="nowrap"><p>Fecha final:</p></td> > <td width="151" class='cajasbig'><?php echo > $this->Form->input('fechamedico3', array('type' => 'text', 'label' => > false, 'class' => 'input-xlarge datepicker')); ?></td> > </tr> > <button type="submit" class="btn btn-primary">Filtrar</button> > > > El servicio de correo misena es soportado tecnológicamente por © Google y > ofrecido por el Servicio Nacional de Aprendizaje – SENA de manera gratuita > a todos los colombianos y en especial a los aprendices e instructores de > Programas de Formación Titulada y Complementaria. Los contenidos, textos, > imágenes, archivos y puntos de vista enviados en este mensaje son > responsabilidad exclusiva del remitente y no reflejan ni comprometen > oficialmente a la institución. No se autoriza el uso de esta herramienta > para el intercambio de correos masivos, cadenas o spam, ni de mensajes > ofensivos, de carácter político, sexual o religioso, con fines de lucro, > con propósitos delictivos o cualquier otro mensaje que se considere > indebido o que vaya en contra de la Ley. > -- Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos de Google. Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cakephp-es+unsubscr...@googlegroups.com. Para publicar una entrada en este grupo, envía un correo electrónico a cakephp-es@googlegroups.com. Visita este grupo en http://groups.google.com/group/cakephp-es. Para obtener más opciones, visita https://groups.google.com/d/optout.