Gracia por sus Ayuda :) El 18 de septiembre de 2014, 3:55, Jorge <stein...@gmail.com> escribió:
> 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 a un tema del grupo > "CakePHP-es" de Grupos de Google. > Para anular la suscripción a este tema, visita > https://groups.google.com/d/topic/cakephp-es/71lyuhiDzdI/unsubscribe. > Para anular la suscripción a este grupo y a todos sus temas, envía un > correo electrónico a cakephp-es+unsubscr...@googlegroups.com. > Para publicar 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 acceder a más opciones, visita https://groups.google.com/d/optout. > -- 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.