__construct()
Constructor de la clase, inicia la paginación definiendo cuantos resultados quiere dar por página y como obtener el número de la página actual.
[code=php]$pages = new TNTPagination(5,'pag');[/code]
Explicación: se mostrarán 5 resultados por página, y página actual se obtiene con $_GET['pag'] (es decir: [url=http://example.com/example.php?pag=2]http://example.com/example.php?pag=2[/url]). Si no existe ?pag=2, será definida la página 1.
Si el segundo campo ('pag') no contiene nada, tomará por defecto 'pag'.
[code=php]$pages = new TNTPagination(5);[/code]
get()
Es hora de obtener los enlaces a las páginas posteriores y anteriores a la actual. (Generará HTML o un array si lo desea)
Código:
Explicación: El primer campo es la consulta SQL para obtener el TOTAL de resultados la consulta SQL. En el segundo campo, definimos el enlace que queramos; ?pag=%pag% donde %pag% genera el número de página y ?pag es el modo de obtener ($_GET['pag'] en este caso).echo $pages->get('SELECT COUNT(*) as Num FROM articles','http://example.com/articles.php?pag=%pag%');
Si en vez de querer que genere el HTML directamente, desea que se lo devuelva en forma de array, usted debe hacerlo de la siguiente manera:
[code=php]$array = $page->get('SELECT COUNT(*) as Num FROM articles','[url]http://example.com/articles.php?pag=%pag%',true[/url]);[/code]
Obtendrías un array así:
[code=php]
Array
(
[0] => Array
(
[link] => #
[page] => 1
)
[1] => Array
(
[link] => [url]http://example.com/articles.php?pag=2[/url]
[page] => 2
)
[2] => Array
(
[link] => [url]http://example.com/articles.php?pag=3[/url]
[page] => 3
)
)
[/code]
Imaginemos que tenemos un total de 15 resultados, teniendo en cuenta que obtiene 5 resultados por página, nos devolvería 3 páginas.
Si tenemos 16 resultados, nos obtendría 4 páginas, y en ésta última un solo resultado.
Los que no entiendan como usar la función foreach(); , recomendamos que obtengan directamente el HTML.
// Ejemplo completo (Obtener HTML)
[code=php]// Código de la clase
$pages = new TNTPagination(5);
$limit = $pages->pagination['from'].','.$pages->pagination['perpage'];
$query = mysql_query("SELECT * FROM articles LIMIT $limit");
// Muestre sus datos del SQL como quiera..
echo $pages->get('SELECT COUNT(*) as Num FROM articles','[url]http://example.com/articles.php?pag=%pag%'[/url]);
[/code]
// Ejemplo completo (Obtener ARRAY)
[code=php]// Código de la clase
$pages = new TNTPagination(5);
$limit = $pages->pagination['from'].','.$pages->pagination['perpage'];
$query = mysql_query("SELECT * FROM articles LIMIT $limit");
// Muestre sus datos del SQL como quiera..
$array = $pages->get('SELECT COUNT(*) as Num FROM articles','[url]http://example.com/articles.php?pag=%pag%',true[/url]);[/code]
Descarga y previsualización: http://www.braincode.es/article/tntpagination---paginacion-de-resultados-sql