Foros del Web » Programando para Internet » PHP »

PHP OO TNTPagination - Paginación de resultados MySQL

Estas en el tema de TNTPagination - Paginación de resultados MySQL en el foro de PHP en Foros del Web. Con esta utilidad podrás paginar tus resultados sin necesidad de poner varias frases de código. TNTPagination te lo hará en 2 lineas. __construct() Constructor de ...
  #1 (permalink)  
Antiguo 24/09/2012, 14:15
Avatar de edumurru  
Fecha de Ingreso: diciembre-2011
Mensajes: 10
Antigüedad: 12 años, 4 meses
Puntos: 0
TNTPagination - Paginación de resultados MySQL

Con esta utilidad podrás paginar tus resultados sin necesidad de poner varias frases de código. TNTPagination te lo hará en 2 lineas.
__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:
echo $pages->get('SELECT COUNT(*) as Num FROM articles','http://example.com/articles.php?pag=%pag%');
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).
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

Última edición por edumurru; 24/09/2012 a las 14:21

Etiquetas: html, mysql, resultados, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:54.