Gracias carlos por tu ayuda, pero aun no soy capaz.  Con este codigo ya me
salen los estados en el select

<div id="estado">
    <?php echo
$form->input('status',array('label'=>__('Estado',true),'empty'=>'Seleccione','type'=>'select','options'=>$status,
"onchange"=>"estado(this.value)"));?>
</div>
pero no entiendo en que parte de tu codigo envio el dato del estado
seleccionado y filtro el paginate por ese dato.

Agradezco si me puedes seguir orientando.
El 14 de junio de 2011 08:38, Carlos Becerra <[email protected]>escribió:

> Sandra, mi consejo, despues de haber investigado un poco es con jquery.
> Voy a colocar codigo de una aplicacion que realice hace poco con lo que
> deseas.
>
> en mi vista add.ctp
>
> <?php //debug($form); ?>
> <?php echo $html->css("themes/smoothness/jquery-ui-timepicker")?>
> <?php echo $html->script("ui/jquery.ui.datepicker")?>
> <?php echo $html->script("ui/jquery.ui.timepicker")?>
> <?php echo $html->script('ui/i18n/jquery.ui.datepicker-es');?>
> <div class="citaProgramadas form">
> <?php echo $this->Form->create('CitaProgramada');?>
>     <div id="tipo_aseguradora">
>     <?php echo $form->input('aseguradorastypes',array('label'=>__('Tipo de
> Aseguradora',true),'empty'=>'Seleccione','type'=>'select','options'=>$aseguradorastypes,
> "onchange"=>"aseguradora(this.value)"));?>
>     </div>
>     <br clear="all"/>
>     <div id="aseguradora">
>  <?php if($this->data["CitaProgramada"]["aseguradorastypes"]):?>
>     <?php if($this->data["CitaProgramada"]["aseguradorastypes"]==2):?>
>  <?php echo $form->input("CitaProgramada.aseguradora_id",
> array("label"=>__("Aseguradora", true), "options"=>$prepagas,
> "empty"=>"--"))?>
>     <?php endif;?>
>     <?php if($this->data["CitaProgramada"]["aseguradorastypes"]==1):?>
>  <?php echo $form->input("CitaProgramada.aseguradora_id",
> array("label"=>__("Aseguradora", true), "options"=>$epss, "empty"=>"--"))?>
>  <?php echo $form->input("CitaProgramada.numorden",
> array("label"=>__("Número de Orden", true)))?>
> <?php echo $form->input("CitaProgramada.fechaorden",
> array("label"=>__("Fecha de la Orden", true), "type"=>"text"))?>
>  <script>
>     $(document).ready
>     (
>  function()
> {
>     $("#CitaProgramadaFechaorden").datepicker({dateFormat: 'yy-mm-dd'});
>  }
>     );
> </script>
>     <?php endif;?>
> <?php endif;?>
>     </div>
>     <br clear="all"/>
>     <div id="tipo_consulta">
>  <?php echo $this->Form->input('typeconsulta_id',array('label'=>__('Tipo
> de Consulta',true),'empty'=>'Seleccione'));?>
>     </div>
>     <br clear="all"/>
>     <div id="especialidad">
>  <?php echo
> $this->Form->input('speciality_id',array('label'=>__('Especialidad',true),'empty'=>'Seleccione','type'=>'select','options'=>$especialidades,
> "onchange"=>"medico(this.value)"));?>
>     </div>
>     <br clear="all"/>
>     <div id="medico">
>     </div>
>     <br clear="all"/>
>     <?php echo $this->Form->input('start_date', array("type"=>"text"));?>
>     <?php echo $this->Form->input('start_time', array("type"=>"text"));?>
>     <br clear="all"/>
>     <?php echo $this->Form->end(__('Crear Cita', true));?>
> </div>
>
> <script>
> $(document).ready
>  (
>     function()
>     {
>  $("#CitaProgramadaStartDate").datepicker({minDate: +0,dateFormat:
> 'yy-mm-dd'});
> $("#CitaProgramadaStartTime").timepicker();
>     }
> );
>
> function aseguradora(tipo)
>  {
>     $("#aseguradora").html('<?php echo $html->image("ajax-loader.gif")?>');
>
>     $.ajax
>     (
>  {
>     url: "<?php echo $html->url(array("controller"=>"cita_programadas",
> "action"=>"aseguradora"))?>/"+tipo,
>     success: function(m)
>     {
>     $("#aseguradora").html(m);
>     }
> }
>     );
>  }
>  function medico(especialidad)
>  {
>     $("#medico").html('<?php echo $html->image("ajax-loader.gif")?>');
>
>     $.ajax
>     (
>  {
>     url: "<?php echo $html->url(array("controller"=>"cita_programadas",
> "action"=>"medico"))?>/"+especialidad,
>     success: function(m)
>     {
> $("#medico").html(m);
>     }
> }
>     );
>  }
> </script>
>
> en el controlador..... la funcion aseguradora
>
> function aseguradora($aseguradoratypes_id= null)
>  {
>  if(!$aseguradoratypes_id)
>  {
> echo "";
> exit;
>  }
>  $conditions= array();
>  $conditions["user_id"]= $this->Auth->user("id");
> if($aseguradoratypes_id)
>  $conditions["aseguradoratypes_id"]= $aseguradoratypes_id;
>  $uas= $this->UserAseguradora->find("all",
> array("conditions"=>$conditions));
>  $aseguradoras= array();
> if($uas)
>  {
> foreach($uas as $ua)
> $aseguradoras[$ua["Aseguradora"]["id"]]= $ua["Aseguradora"]["name"];
>  }
>  $this->set(compact("aseguradoras"));
>  if(count($aseguradoras)==1)
> {
>  $this->data["CitaProgramada"]["aseguradora_id"]= key($aseguradoras);
> $this->set("aseguradora", array_shift($aseguradoras));
>  }
>  //SI ES 1 ES EPS!!! Esto esta quemado, asi que hay que estar pendiente si
> esto cambia.
>  if($aseguradoratypes_id==1)
> $this->set("numorden", true);
>  }
>
>
> La funcion medico el cual se llama tambien.......
>
>
> function medico($speciality_id=null)
>  {
>     $conditions= array();
>     if($speciality_id)
>     $conditions["speciality_id"]= $speciality_id;
>
>     $ss= $this->Speciality->findById($speciality_id);
>
>     //debug($ss);exit;
>
>     $medics= array();
>     if($ss)
>     {
>  foreach($ss["Medic"] as $s)
> $medics[$s["id"]]= $s["fullname"];
>     }
>
>     $this->set(compact("medics"));
>
>     if(count($medics)==1)
>     {
>     $this->data["CitaProgramada"]["medic_id"]= key($medics);
>     $this->set("medic", array_shift($medics));
>     }
> }
>
>
>
> Espero te sirva.
>
>
>
> El 14 de junio de 2011 08:16, Luis M@ster <
> [email protected]> escribió:
>
> Hola Sandra!
>>
>> para hacer esto necesita Ajax, puede usar una libreria como jQuery o
>> Mootools, para ser mas preciso lo que necesita hacer son Consulta
>> atraves de ajax, te dejare unso enlaces que te podran servir para
>> esto.
>>
>> jQuery.ajax Api: http://api.jquery.com/category/ajax/
>> Mootool Cass request: http://mootools.net/docs/core/Request/Request -
>> demo site: http://mootools.net/demos/?demo=Request
>>
>> Prototype Ajax Api: http://api.prototypejs.org/ajax/
>>
>>
>> Te recomiendo Prototype en este caso, ya que Cakephp tiene una
>> libreria para Prototype.
>>
>> Espero que esto te sirva de ayuda.
>>
>> Saludos,
>>
>> On Jun 13, 11:14 pm, sandra milena mendoza <[email protected]>
>> wrote:
>> > Lo que quiero es tener un select donde salgan los datos de mi tabla
>> > status y poder filtrar mi consulta por el estado seleccionado en mi
>> > select.  Por ejemplo si en mi select selecciono Pendiente me salga en
>> > mi paginate solo los datos que essten en estado pendiente.  Alguien
>> > sabe como hacerlo??
>> >
>> > On 12 jun, 12:58, harenson henao <[email protected]> wrote:
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > > Cordial saludo,
>> >
>> > > lo que quieres hacer te lo hace el paginate, cuando utilizas el
>> paginate de
>> > > cakePHP, en la vista puedes hacer algo como:
>> >
>> > > <table>
>> > >     <thead>
>> > >         <tr>
>> > >             <th><?php echo $this->Paginator->sort(__('Nombre', true),
>> > > 'name'); ?></th>
>> > >             <th><?php echo $this->Paginator->sort(__('Estado', true),
>> > > 'status'); ?></th>
>> > >         </tr>
>> > >     </thead>
>> > >     <tbody>
>> > >         <?php foreach($tramites as $tramite): ?>
>> > >         <tr>
>> > >             <td><?php echo $tramite['Tramite']['name']; ?></td>
>> > >             <td><?php echo $tramite['Tramite']['status']; ?></td>
>> > >         </tr>
>> > >         <?php endforeach; ?>
>> > >     </tbody>
>> > > </table>
>> >
>> > > source =>http://book.cakephp.org/view/1233/Pagination-in-Views
>> >
>> > > De esta forma, los encabezados de tu tabla funcionaran como un filtro,
>> es
>> > > decir, si ese ejemplo fuese funcional, al darle clic a la columna que
>> se
>> > > llama "Nombre", los resultados se van a filtrar por la columna "name"
>> de la
>> > > tabla del modelo usado en esta vista
>> > > que sería la tabla "tramites" del modelo "Tramite", en orden ASC o
>> DESC;
>> > > igual pasa al darle clic a la columna con el nombre "Estado".
>> >
>> > > Nota: al usar este método, no se van a mostrar solamente los datos de
>> un
>> > > estado en específico, se muestran todos. Si lo que quieres es mostrar
>> sólo
>> > > los trámites relacionados a cierto estado, te recomiendo usar jQuery o
>> > > Mootools para no recargar la página por completo cada vez que
>> selecciones un
>> > > estado diferente, pero ahí si no te puedo dar ejemplos ni nada, nunca
>> he
>> > > usado cakePHP con jQuery o framework similar.
>> >
>> > > Cordialmente,
>> > > Harenson Henao
>> >
>> > > El 11 de junio de 2011 21:32, sandra milena mendoza
>> > > <[email protected]>escribió:
>> >
>> > > > Algun ejemplo del que me pueda guiar?
>> >
>> > > > On 11 jun, 19:24, sandra milena mendoza <[email protected]>
>> wrote:
>> > > > > Gracias por responderme.
>> >
>> > > > > Yo tengo una tabla llamada status donde estan los estados de mis
>> > > > > tramites (otra tabla de mi base de datos) los estados son por
>> ejemplo
>> > > > > Pendiente, Tramitado, Negado, etc.
>> >
>> > > > > Lo que quiero es que cuando seleccione un estado, se me filtre mi
>> > > > > paginate y me muestre solo los tramites que estan en ese estado.
>> >
>> > > > > On 11 jun, 19:19, harenson henao <[email protected]> wrote:
>> >
>> > > > > > Hola, la verdad no entiendo muy bien tú problema (en el codigo
>> :P),  si
>> > > > lo
>> > > > > > que buscas es que se filtren los resultados cada vez que
>> seleccionas un
>> > > > > > estado, te recomiendo usar {'jQuery','Mootools'} o js puro, para
>> no
>> > > > hacer
>> > > > > > consultas a la base de datos cada que selecciones un estado
>> nuevo.
>> >
>> > > > > > Regálanos por favor un ejemplo de un "dato de estado" que es lo
>> que
>> > > > dices
>> > > > > > que no te muestra el sistema.
>> >
>> > > > > > Perdón de nuevo si no es lo que necesitas, la verdad no te
>> entendí el
>> > > > > > inconveniente que tienes en este momento al usar cakePHP.
>> >
>> > > > > > Éxitos.
>> >
>> > > > > > El 11 de junio de 2011 18:28, sandra milena mendoza
>> > > > > > <[email protected]>escribió:
>> >
>> > > > > > > En mi vista tengo:
>> > > > > > > <?php echo $this->Form-
>> > > > > > > >create('Tramite',array('controller'=>'tramite',
>> > > > > > > 'action'=>'tramitar')); echo $this->Form->input('statu_id');
>> ?>
>> > > > > > > y me muestra los estados.
>> >
>> > > > > > > En mi controlador tengo:
>> > > > > > >         $status = $this->Tramite->Statu->find('list',
>> > > > > > > array('fields'=>'Statu.estado'));
>> > > > > > >     $this->set('status', $status);
>> >
>> > > > > > >         $this->Tramite->recursive = 1;
>> > > > > > >         $tramites =  $this->paginate('Tramite',
>> array('documento' =>
>> > > > $cc,
>> > > > > > > 'statu_id' => $this->data['Statu']['id']));
>> > > > > > >         //$tramites =  $this->paginate('Tramite');
>> > > > > > >         $this->set(compact('tramites'));
>> >
>> > > > > > > Pero me arroja nulo el campo de estados en el sql entonces no
>> me
>> > > > > > > muestra ningun dato.
>> >
>> > > > > > > Que error estoy cometiendo???
>> >
>> > > > > > > On 11 jun, 18:00, sandra milena mendoza <[email protected]
>> >
>> > > > wrote:
>> > > > > > > > Buenas tardes
>> >
>> > > > > > > > Necesito de su ayuda.  Quiero filtrar los datos de mi
>> paginate por
>> > > > > > > > medio de un combo que traiga los datos de los estados de mi
>> tabla
>> > > > de
>> > > > > > > > la bd.  Estoy intentando traer los datos pero no ha sido
>> posible.
>> > > > > > > > Alguien tiene algunn ejemplo que me pueda ayudar?
>> >
>> > > > > > > --
>> > > > > > > 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
>> > > > > > > [email protected].
>> > > > > > > Para anular tu suscripción a este grupo, envía un correo
>> electrónico
>> > > > a
>> > > > > > > [email protected]
>> > > > > > > Para tener acceso a más opciones, visita el grupo en
>> > > > > > >
>> http://groups.google.com/group/cakephp-es?hl=es.-Ocultartextode la
>> > > > cita -
>> >
>> > > > > > - Mostrar texto de la cita -- Ocultar texto de la cita -
>> >
>> > > > > - Mostrar texto de la cita -
>> >
>> > > > --
>> > > > 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
>> > > > [email protected].
>> > > > Para anular tu suscripción a este grupo, envía un correo electrónico
>> a
>> > > > [email protected]
>> > > > Para tener acceso a más opciones, visita el grupo en
>> > > >http://groups.google.com/group/cakephp-es?hl=es.-Ocultar texto de la
>> cita -
>> >
>> > > - Mostrar texto de la cita -
>>
>> --
>> 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
>> [email protected].
>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>> [email protected]
>> Para tener acceso a más opciones, visita el grupo en
>> http://groups.google.com/group/cakephp-es?hl=es.
>>
>>
>
>
> --
> Carlos Andrés Becerra Galarza.
>
> --
> 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
> [email protected].
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> [email protected]
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/cakephp-es?hl=es.
>



-- 
*_____________________________________*
**
*Sandra Milena Mendoza A.*
*Ing. Sistemas*
*cel 3165725034*

-- 
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 
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a 
[email protected]
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a