Complete Pagination

06 de julio de 2012
Valoración del artículo:
Sistema de paginación PHP 5, por el cual mostramos un listado con los resultados obtenidos en una consulta SQL.
En el artículo de hoy vamos a ver una clase PHP 5 que nos muestra una consulta SQL paginada mediante botones o enlaces.

Para este artículo tenemos que tener claro como funciona SQL, y por ello recomiendo leer nuestro Tutorial sobre SQL.

Ahora que tenemos la base para entender dicha clase, podemos pasar a ver como podemos utilizarla en nuestra web.

Lo primero que tenemos que hacer es descargar la clase de la web de PHP Classes.

Una vez que lo tenemos descargado tenemos que situarlo en nuestro servidor. Podemos colocarlo en la raíz de nuestra web para que sea mas cómoda su utilización.

Además, tenemos que descargarnos también la hoja de estilos que utiliza la clase, aunque en un futuro se podría editar para acoplarla a nuestra web.

Una vez que tenemos todo listo podemos empezar a construir nuestro código de ejemplo:

<?php

require_once('CompletePagination.class.php');
$ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple Pagination Example</title>
<link rel="stylesheet" type="text/css" href="completepagination.css" />
</head>
<body>
<div align="center">
<!-- Ejemplo de paginacion con extras-->
<?php echo $pagination_html; ?>

<table border="1" cellpadding="2" cellspacing="2">
<thead>
<tr>
<th>Resultados</th>
</tr>
</thead>
<tbody>
<?php
while($record = mysql_fetch_array($result)){
?>
<tr>
<td><?php echo $record['datos'];?></td>

</tr>
<?php } ?>
</tbody>
</table>

<!-- Ejemplo sin extras-->
<?php echo $pagination_html2;?>
</div>
</body>
</html>
row_per_page = 20;
$pagination = new CompletePagination($row_per_page);

$link = mysql_connect('', '', '');
mysql_selectdb('');



$query_count ="sentencia sql "
$result_count = mysql_query($query_count);
$record_count = mysql_fetch_array($result_count);
$total_rec = $record_count['tot_rec'];

En estas primeras líneas de código tan sólo hemos creado la sentencia SQL para sacar el numero de resultados a mostrar y hemos incluido la clase CompletePagination.class.php

A continuación, vamos a ir creando variables para nuestra paginación:

$pagination->total_rows = $total_rec;

//Ejemplo de paginación con extras
$pagination->show_dropdown = true;
$pagination->show_total_records = true;
$pagination->show_page_no = true;
$pagination->show_ellipsis = 20;
$pagination_html = $pagination->showCompletePagination();


//Ejemplo de paginacion sin extras
$pagination->show_ellipsis = 10;
$pagination->show_dropdown = false;
$pagination->show_total_records = false;
$pagination->show_page_no = false;
$pagination_html2 = $pagination->showCompletePagination();


//Comun a ambos ejemplos
$query = "SELECT Country, CountryAbbrev, CurrencyAbbr FROM countries ".$where." LIMIT ".$pagination->getLimit() . ", " . $row_per_page;
$result = mysql_query($query);
?>

Además de crear variables como son el número de resultados a mostrar por página, si mostramos el total de resultados o no, etc., hemos ejecutado la consulta y la hemos almacenado para posteriormente mostrarla en nuestra web.

Ahora ya sólo nos queda ver el código HTML donde se van a mostrar los resultados.

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple Pagination Example</title>
<link rel="stylesheet" type="text/css" href="completepagination.css" />
</head>
<body>
<div align="center">
<!-- Ejemplo de paginacion con extras-->
<?php echo $pagination_html; ?>

<table border="1" cellpadding="2" cellspacing="2">
<thead>
<tr>
<th>Resultados</th>
</tr>
</thead>
<tbody>
<?php
while($record = mysql_fetch_array($result)){
?>
<tr>
<td><?php echo $record['datos'];?></td>

</tr>
<?php } ?>
</tbody>
</table>

<!-- Ejemplo sin extras-->
<?php echo $pagination_html2;?>
</div>
</body>
</html>

Si os fijáis tenemos dos variables una llamada $pagination_html y otra llamada $pagination_html2. La primera nos muestra una paginación mas completa con información sobre el total de resultados, la posibilidad de ir directamente a una página mediante un campo select, etc., mientras que la segunda sólo muestra la paginación sin datos extras.

Como veis, están los dos tipos de paginación en el mismo ejemplo, pero se pueden diferenciar sin problemas.

Compartir en redes sociales

Comentarios
Fueron enviados 3 comentarios al artículo
3 comentarios revisados:
Algún ejemplo funcional?
17/7/2012
Estimada, me gustaría saber si es posible visualizar una demo de la librería de paginación.
Muchas gracias.

ronald_...
Demo del ejemplo
18/7/2012
Por favor tambien me parece poner un link al final del artículo, en el que se muestre el resultado final de dicha paginación...

Normiux...
Pregunta
10/9/2012
Hola espero alguien pueda ayudarme, estoy desarrollando una pagina web en donde varios clientes acceden a ella para descargar facturas en formato PDF.
Mi duda es en cuanto a la consulta a Mysql, ya que tengo agregadas dos tablas, una con el numero de cliente y la otra con el link para descargar la factura, lo malo es que en cada renglon tengo un numero de cliente y estos pueden llegara repetirse, alguien podria decirme como unir todos los clientes que tengan un mismo codigo con las facturas que les corresponden???
Gracias, saludos.

Manuales relacionados
Categorias relacionadas
El autor
Sara Alvarez
Equipo DesarrolloWeb.com
http://www.desarrolloweb.com


Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...