<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vladzur&#039;s Blog &#187; Filtro</title>
	<atom:link href="http://vladzur.sangrederosas.cl/tag/filtro/feed/" rel="self" type="application/rss+xml" />
	<link>http://vladzur.sangrederosas.cl</link>
	<description>Sobre PHP, Ubuntu, CakePHP y otras cosas</description>
	<lastBuildDate>Mon, 26 Jul 2010 19:06:54 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Como mantener un filtro con paginación</title>
		<link>http://vladzur.sangrederosas.cl/2009/09/07/como-mantener-un-filtro-con-paginacion/</link>
		<comments>http://vladzur.sangrederosas.cl/2009/09/07/como-mantener-un-filtro-con-paginacion/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 20:48:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Filtro]]></category>
		<category><![CDATA[Paginator]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://vladzur.wordpress.com/?p=21</guid>
		<description><![CDATA[Una de los usos más comunes de las paginaciónes es limitar la visualización de el resultado de una búsqueda. Cake no da una manera fácil de hacer esta cotidiana tarea, pero se puede solucionar este problema usando &#8220;Session&#8221;. function admin_index() {     $criteria=null; $cond=array(); if(!empty($this-&#62;data)){ $apellido_paterno=$this-&#62;data['Buscar']['apellido_paterno']; $nombre=$this-&#62;data['Buscar']['nombre']; $rut=trim($this-&#62;data['Buscar']['rut']);             if($apellido_paterno!='')$cond[]="Usuario.apellido_paterno LIKE '%$apellido_paterno%' "; [...]]]></description>
			<content:encoded><![CDATA[<p>Una de los usos más comunes de las paginaciónes es limitar la visualización de el resultado de una búsqueda.</p>
<p>Cake no da una manera fácil de hacer esta cotidiana tarea, pero se puede solucionar este problema usando &#8220;Session&#8221;.<br />
<pre>function admin_index() {    
 $criteria=null;
 $cond=array();
 if(!empty($this-&gt;data)){
 $apellido_paterno=$this-&gt;data['Buscar']['apellido_paterno'];
 $nombre=$this-&gt;data['Buscar']['nombre'];
 $rut=trim($this-&gt;data['Buscar']['rut']);            
 if($apellido_paterno!='')$cond[]="Usuario.apellido_paterno LIKE '%$apellido_paterno%' ";
 if($nombre!='')$cond[]="Usuario.nombre LIKE '%$nombre%' ";
 if($rut!='')$cond[]="Usuario.rut =$rut ";
 if(count($cond)&gt;1){
 $criteria=implode(" AND ",$cond);
 }else{
 $criteria=$cond[0];
 $this-&gt;Session-&gt;write('Filtro.usuario', $criteria);
 }            
 if(empty($cond))$criteria=null;                
 }
 $filtro = $this-&gt;Session-&gt;read('Filtro.usuario');
 $this-&gt;set('usuario', $this-&gt;paginate('Usuario',$filtro));        
}</pre><br />
Éste trozo de código, implementa una búsqueda de usuario por nombre, apellido paterno o RUT (DNI), guardando el filtro en una variable de sesion, para usarlo atravez de las distintas páginas.</p>
<p>Para resetear el filtro, solo debemos borrar la variable de sesión<br />
<pre>$this-&gt;Session-&gt;write('Filtro.usuario', null);</pre><br />
Así podemos mostrar todos los registros sin el filtro de búsqueda.</p>
<p><a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fvladzur.sangrederosas.cl%2F2009%2F09%2F07%2Fcomo-mantener-un-filtro-con-paginacion%2F&amp;linkname=Como%20mantener%20un%20filtro%20con%20paginaci%C3%B3n" title="Digg" rel="nofollow" target="_blank"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fvladzur.sangrederosas.cl%2F2009%2F09%2F07%2Fcomo-mantener-un-filtro-con-paginacion%2F&amp;linkname=Como%20mantener%20un%20filtro%20con%20paginaci%C3%B3n" title="Facebook" rel="nofollow" target="_blank"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fvladzur.sangrederosas.cl%2F2009%2F09%2F07%2Fcomo-mantener-un-filtro-con-paginacion%2F&amp;linkname=Como%20mantener%20un%20filtro%20con%20paginaci%C3%B3n" title="Delicious" rel="nofollow" target="_blank"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fvladzur.sangrederosas.cl%2F2009%2F09%2F07%2Fcomo-mantener-un-filtro-con-paginacion%2F&amp;linkname=Como%20mantener%20un%20filtro%20con%20paginaci%C3%B3n" title="Twitter" rel="nofollow" target="_blank"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p><p><a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fvladzur.sangrederosas.cl%2F2009%2F09%2F07%2Fcomo-mantener-un-filtro-con-paginacion%2F&amp;linkname=Como%20mantener%20un%20filtro%20con%20paginaci%C3%B3n" title="Digg" rel="nofollow" target="_blank"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fvladzur.sangrederosas.cl%2F2009%2F09%2F07%2Fcomo-mantener-un-filtro-con-paginacion%2F&amp;linkname=Como%20mantener%20un%20filtro%20con%20paginaci%C3%B3n" title="Facebook" rel="nofollow" target="_blank"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fvladzur.sangrederosas.cl%2F2009%2F09%2F07%2Fcomo-mantener-un-filtro-con-paginacion%2F&amp;linkname=Como%20mantener%20un%20filtro%20con%20paginaci%C3%B3n" title="Delicious" rel="nofollow" target="_blank"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fvladzur.sangrederosas.cl%2F2009%2F09%2F07%2Fcomo-mantener-un-filtro-con-paginacion%2F&amp;linkname=Como%20mantener%20un%20filtro%20con%20paginaci%C3%B3n" title="Twitter" rel="nofollow" target="_blank"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://vladzur.sangrederosas.cl/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://vladzur.sangrederosas.cl/2009/09/07/como-mantener-un-filtro-con-paginacion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
