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.-Ocultar texto de 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.
>
>
--
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.