Buscador


En todo Internet
En Uterra.Com

¿Problemas sexuales?
Jerez de la Frontera
y Cádiz
Homosexualidad, infidelidad, divorcio, violencia de género, etc.

Contenidos


El script de paginación, PAGINATOR, desarrollado por Jorge Pinedo ha sido uno de los paginadores más sencillos de utilizar para personas que tienen un conocimiento de PHP y MySQL limitado. En su momento, me gusto tanto, que lo utilice de manera casi sistemática para prácticamente todo, y a día de hoy, es el método de paginación que empleamos en esta Web. El Paginator, tal y como lo desarrollo Jorge Pinedo está presentado en este artículo, que aunque desfasado, lo dejo por si didácticamente resulta interesante.
 
Con el cambio de servidor y paso a una nueva versión de PHP, la 5.3, empezaron los problemas, y aunque el código seguía funcionando de manera correcta, generaba un importante número de errores. Así, con esta mala noticia, me puse manos a la obra y me implique en actualizar este script de paginación.
 
Los cambios afectan fundamentalmente al archivo de paginación, cuyo nombre original es paginator.inc.php, que ahora pasa a llamarse paginator1.inc.php. Los cambios y modificaciones han sido marcados con una tiple x (xxx) y están descritos en líneas de comentarios. Este archivo puede ser sustituido por el original para corregir aquellos paginadores que ya están en funcionamiento.
 
En una modificación realizada por mi, y con el objetivo de modificar de manera sencilla algunos de los parámetros más interesantes del paginador en la propia consulta, ahora se definen unas variables que van a condicionar como funciona el script. Antes era preciso modificar estas líneas en el archivo de paginación, y ahora, para hacerlo más sencillo, las modificaciones se realizan en la misma página que ejecuta la consulta. El nuevo archivo es paginator2.inc.php. Y es este el caso con el que se corresponde el código que se presenta y la demo.
 
El primer cambio afecta a la variable $_pagi_nav_estilo que definía el estilo CSS para la barra de enlaces de navegación. Esta variable ahora la definimos antes de la inclusión del archivo de paginación junto a la consulta, como puede verse en el código.
 
El segundo cambio afecta al número de enlaces de paginación. La variable $enlacesdepaginacion, indica el número de enlaces de paginación que se mostrarán. Cuando esta variable toma el valor 0, aparecerán tantos enlaces como páginas existan. Si el número es distinto de 0, y atención, necesariamente impar, aparecerán como máximo el número de enlaces que se especifique, y se accederá a las nuevas páginas con los enlaces, siguiente, anterior, primera y última.
 
En cualquiera de los dos archivos de paginación se define ahora una variable que cuenta el número de resultado en la consulta, la variable es $_Num_regis_Consul.
 
Puedes descargar los tres archivos de paginación, el original y las dos correcciones desde aquí.

<!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" dir="ltr" lang="en-US" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Paginacion con Paginator, adaptada por UTERRA.COM a PHP 5.3.</title>
    <meta name="robots" content="noindex, nofollow" />

<style type="text/css">
<!--  
    /* Definimos la clase de paginación */

    #cls_pagi {  
        font-family: verdana,arial;     /*tipo de letra*/  
        font-size: 12pt;                /*tamaño de la letra*/ 
    }

    a.cls_pagi:link {text-decoration:none; color:#008000;}           /* Color del enlace no visitado */  
    a.cls_pagi:visited {text-decoration:none; color:#ff0000;}        /* Color del enlace visitado */  
    a.cls_pagi:active {text-decoration:none; color:#99FF00;}         /* Color que toma el ultimo enlace visitado */  
    a.cls_pagi:hover {text-decoration:underline; color:#0000FF;}     /* Color que toma el enlace al pasar el raton sobre el */  

    
-->
</style>

</head>

<body>

<div align="center">
    <table border="1" width="700" id="table1">
<?php 

    error_reporting
(-1);
    
ini_set("display_errors"1);

include(
"../abre_conexion.php"); 

// Paginación con Paginator

    
$_pagi_sql "SELECT * FROM $tabla_db1 ORDER BY id DESC";   
    
$_pagi_result mysql_query($_pagi_sql);

    
$_pagi_cuantos 50;    // Numero de registros por pagina 

    
$_pagi_nav_estilo "cls_pagi";        // Nombre clase CSS de los enlaces de paginacion (definida en la cabecera)

    // Indica el numero de enlaces de paginacion, solo admite como valores 0 e impares. OJO, con 0 apareceran todos.
    
$enlacesdepaginacion 11;

        include(
"paginator2.inc.php");

while (
$registro mysql_fetch_array($_pagi_result)){ 

    echo 
"<tr>
      <td>"
.$registro['id']."</td> 
      <td>"
.$registro['nombre']."</td> 
      <td>"
.$registro['email']."</td> 
      <td>"
.$registro['fecha']."</td> 
    </tr> 
"


include(
"../cierra_conexion.php"); 

echo 
"
    </table>
</div>
"
;
    
// Incluimos las barras de navegación e informacion 

            
echo "<div id = \"cls_pagi\"><p align=\"center\">".$_pagi_navegacion."</p>
           <p align=\"right\">El total de registros en la consulta <b>"
.$_Num_regis_Consul."</b></p>
            <p align=\"right\">Registros desde el "
.$_pagi_info."</p> </div>";
?>

</body>

</html>