<?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>paginacion archivos - KumbiaPHP Framework PHP en español</title>
	<atom:link href="https://kumbiaphp.com/blog/tag/paginacion/feed/" rel="self" type="application/rss+xml" />
	<link>https://kumbiaphp.com/blog/tag/paginacion/</link>
	<description>Web &#38; app MVC PHP framework</description>
	<lastBuildDate>Fri, 07 Dec 2018 21:39:52 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://kumbiaphp.com/blog/wp-content/uploads/2016/01/250-150x150.png</url>
	<title>paginacion archivos - KumbiaPHP Framework PHP en español</title>
	<link>https://kumbiaphp.com/blog/tag/paginacion/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">123854898</site>	<item>
		<title>Paginación en PHP fácil y rápida</title>
		<link>https://kumbiaphp.com/blog/2017/07/21/paginacion-en-php-facil/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=paginacion-en-php-facil</link>
					<comments>https://kumbiaphp.com/blog/2017/07/21/paginacion-en-php-facil/#comments</comments>
		
		<dc:creator><![CDATA[HenryStivens]]></dc:creator>
		<pubDate>Fri, 21 Jul 2017 05:01:24 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales y screencast]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[paginacion]]></category>
		<guid isPermaLink="false">https://www.kumbiaphp.com/blog/?p=1580</guid>

					<description><![CDATA[<p>Con este tutorial mostraremos como realizar la paginación en PHP de un listado de usuarios usando nuestro framework favorito&#8230;</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2017/07/21/paginacion-en-php-facil/">Paginación en PHP fácil y rápida</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Con este tutorial mostraremos como realizar la paginación en PHP de un listado de usuarios usando nuestro framework favorito <strong>KumbiaPHP</strong>. Utilizaremos como base el proyecto anterior, donde mostramos <a href="https://www.kumbiaphp.com/blog/2017/03/27/subir-imagen-y-datos-con-kumbiaphp/">como subir una imagen y asignarla a un usuario</a>, y cambiaremos el listado normal por un listado paginado.</p>
<h2>En el controlador</h2>
<p>Lo primero es mencionar que el ActiveRecord cuenta con un paginador muy bueno(Ver sección en el manual: <a href="https://github.com/KumbiaPHP/Documentation/blob/master/es/active-record.md#paginando-en-activerecord">Paginando en ActiveRecord</a>), que nos permitirá con una sola línea de código implementar la <strong>paginación en php</strong>. Vamos al controlador de <em>usuarios</em> y añadimos la función <em>page(&#8230;)</em>:</p>
<p>Archivo: <em>app/controllers/user_controller.php</em></p>
<pre><code class="language-php">
public function page(int $page = 1)//validación &#039;int&#039; con php7
{        
    $this-&gt;page = (new User)-&gt;paginate(&quot;page: $page&quot;, &#039;per_page: 7&#039;);
}
</code></pre>
<p>El parametro <em>$page</em> tiene un valor por defecto, así que, si no le pasamos ningun valor será igual a 1. En el llamado a la función <em>paginate()</em> el primer parámetro es <em>page,</em> con el cual le indicamos el número de página que deseamos mostrar. El segundo parámetro es <em>per_page,</em> con el cual le indicamos el número de elementos a mostrar por página.</p>
<p><span id="more-1580"></span></p>
<h2>La vista</h2>
<p>Creamos un nuevo archivo llamado <em>page.html </em>es una vista similar a <em>index.phtml,</em> con la diferencia que para obtener el arreglo de elementos, ojo esto es muy importante, se accede al atributo <em>items </em>del objeto<em> $page</em>. La otra diferencia es que se hace llamado a un partial el cual nos mostrará el paginador con el número de página actual y los números de páginas disponibles. Si, este partial nos ahorra un montón de trabajo ya que en él está toda la lógica de visualización.</p>
<p>Archivo: <em>app/views/user/page.phtml</em></p>
<pre><code class="language-php">&lt;h1&gt;Lista de usuarios&lt;/h1&gt;
&lt;?= Html::linkAction(&#039;create&#039;, &#039;Crear&#039;, &#039;class=&quot;button&quot;&#039;) ?&gt; 
&lt;?php View::content() ?&gt;
&lt;?php if (count($page-&gt;items) &gt; 0) { ?&gt;
    &lt;table class=&quot;u-fu$pagell-width&quot;&gt;
        &lt;thead&gt;
            &lt;tr&gt;            
                &lt;th&gt;Nombre&lt;/th&gt;
                &lt;th&gt;Edad&lt;/th&gt;
                &lt;th&gt;Correo&lt;/th&gt;
                &lt;th&gt;Foto&lt;/th&gt;
                &lt;th&gt;Acciones&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt; 
            &lt;?php foreach ($page-&gt;items as $item) { ?&gt; 
                &lt;tr&gt;
                    &lt;td&gt;&lt;?= $item-&gt;name ?&gt;&lt;/td&gt;
                    &lt;td&gt;&lt;?= $item-&gt;age ?&gt;&lt;/td&gt;
                    &lt;td&gt;&lt;?= $item-&gt;email ?&gt;&lt;/td&gt;
                    &lt;td&gt;&lt;?= $item-&gt;photo ?&gt;&lt;/td&gt;
                    &lt;td&gt;&lt;?= Html::linkAction(&quot;edit/$item-&gt;id&quot;, &#039;Editar&#039;) ?&gt; | &lt;?= Html::linkAction(&quot;update_photo/$item-&gt;id&quot;, &#039;Actualizar foto&#039;) ?&gt;&lt;/td&gt;
                &lt;/tr&gt; 
            &lt;?php } ?&gt;        
        &lt;/tbody&gt;
    &lt;/table&gt;
&lt;?php } else { ?&gt;
    &lt;h2&gt;No hay ningún registro&lt;/h2&gt;
&lt;?php } ?&gt;

&lt;?php View::partial(&#039;paginators/classic&#039;, false, array(&#039;page&#039; =&gt; $page)); ?&gt;
</code></pre>
<p>Existen otros partials que sirven de paginadores, también puedes crear los tuyos para que se adapten a tu diseño.</p>
<h2>Así se ve la paginación en PHP</h2>
<figure><a href="https://www.kumbiaphp.com/blog/wp-content/uploads/2017/07/Captura-de-pantalla-2017-07-18-a-las-10.38.26.png"><img fetchpriority="high" decoding="async" class="wp-image-1585 size-large" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2017/07/Captura-de-pantalla-2017-07-18-a-las-10.38.26-1024x654.png" alt="Paginación en PHP" width="940" height="600" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2017/07/Captura-de-pantalla-2017-07-18-a-las-10.38.26-1024x654.png 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2017/07/Captura-de-pantalla-2017-07-18-a-las-10.38.26-300x192.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2017/07/Captura-de-pantalla-2017-07-18-a-las-10.38.26-768x490.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2017/07/Captura-de-pantalla-2017-07-18-a-las-10.38.26-940x600.png 940w, https://kumbiaphp.com/blog/wp-content/uploads/2017/07/Captura-de-pantalla-2017-07-18-a-las-10.38.26.png 1392w" sizes="(max-width: 940px) 100vw, 940px" /></a><figcaption>Lista de usuarios paginados</figcaption></figure>
<p>Si vas a usar otra acción diferente de <em>page() </em>debes pasarle al partial como parámetro la url de la acción, así:</p>
<p>Archivo: <em>app/views/user/page.phtml</em></p>
<pre><code class="language-php">
&lt;?php View::partial(&#039;paginators/classic&#039;, false, array(&#039;page&#039; =&gt; $page, &#039;url&#039; =&gt; &#039;user/index&#039;)); ?&gt;
</code></pre>
<h2>Descargar código completo</h2>
<p>Como siempre, el código completo está disponible para todos en el siguiente repositorio en Github listo para usar con Docker: <a href="https://github.com/henrystivens/paginate-php">https://github.com/henrystivens/paginate-php </a></p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2017/07/21/paginacion-en-php-facil/">Paginación en PHP fácil y rápida</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2017/07/21/paginacion-en-php-facil/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1580</post-id>	</item>
	</channel>
</rss>
