Puedo recordar hace años, cuando comencé a codificar en PHP y MySQL, lo emocionada que estaba la primera vez que obtuve información de una base de datos para aparecer en un navegador web..
Para alguien que tenía poca base de datos y conocimientos de programación, al ver esas filas de mesas en la pantalla según el código que escribí (bueno, copié un ejemplo de un libro, no nos dividamos los pelos), me dio un triunfo. Puede que no haya entendido completamente toda la magia en el trabajo en ese entonces, pero ese primer éxito me impulsó a proyectos más grandes y mejores.
Si bien mi nivel de exuberancia sobre las bases de datos puede no ser el mismo que una vez fue,
desde mi primer encuentro 'hola mundo' con PHP y MySQL he estado enganchado
en el poder de hacer las cosas simples y fáciles de usar.
Como desarrollador, un problema al que me enfrento constantemente es tomar una gran cantidad de información y facilitar su digestión. Ya sea una lista de clientes de una empresa grande o un catálogo de mp3 personal, tener que sentarse y mirar las filas y las filas y las filas de datos puede ser desalentador
y frustrante ¿Qué puede hacer un buen desarrollador? Paginar!
Si está buscando una solución rápida, hay una gran colección de scripts de paginación y ayudantes en Envato Market..
Esta clase de paginación de PHP es realmente útil. Se puede implementar con cualquier motor de base de datos compatible con PHP, es muy fácil de personalizar e implementar, admite dos pantallas de forma predeterminada, tiene esquemas de diseño multicolor y más.
La paginación es esencialmente el proceso de tomar un conjunto de resultados y difundir
Recorre las páginas para que sean más fáciles de ver..
Pronto me di cuenta de que si tenía 5000 filas de información para mostrar no solo
¿Sería un dolor de cabeza para alguien que lo intente y lea, pero la mayoría de los navegadores necesitarían
una eternidad de Internet (es decir, más de unos cinco segundos) para mostrarla.
Para resolver esto, codificaría varias declaraciones SQL para extraer fragmentos de datos, y si estuviera
de buen humor incluso podría lanzar un par de botones "siguiente" y "anterior".
Después de un tiempo, tener que colocar este código en cada proyecto similar y personalizarlo.
para encajar se hizo viejo. Rápido. Y como todo buen desarrollador sabe, la pereza engendra la inventiva.
o algo así. Así que un día me senté y decidí proponer un simple,
Clase de PHP flexible y fácil de usar que haría el trabajo sucio automáticamente
yo.
Una palabra rápida sobre mí y clases de PHP. No soy un genio orientado a objetos. De hecho, apenas
nunca usar las cosas. Pero después de leer algunos ejemplos y tutoriales de OOP, y algunos
Ejemplos simples de prueba y error, decidí darle una vuelta y sabes qué?
Funciona perfectamente para la paginación. El código utilizado aquí está escrito en PHP 4 pero lo hará
trabajar en PHP 5.
Tengo que amar MySQL. Sin ofender a los otros sistemas de bases de datos, pero
Yo, todo lo que necesito es MySQL. Y una gran característica de MySQL es que te dan algo de
bases de datos de muestra gratuitas para jugar en http://dev.mysql.com/doc/#sampledb.
Para mis ejemplos, usaré la base de datos mundial (~ 90k comprimida) que contiene más de
4000 registros para jugar, pero la belleza del script PHP que crearemos es
que puede ser utilizado con cualquier base de datos. Ahora creo que todos podemos estar de acuerdo en que si decidimos
no para compaginar nuestros resultados con los que terminaríamos con algunos muy largos y difíciles de manejar
Resultados como los siguientes:
(haga clic para ver en tamaño completo, imagen ridículamente larga (338k)
Así que vamos a dividir nuestros datos en partes fáciles de digerir como esta:
Hermosa no es? Una vez que sueltes la clase de paginación en tu código, puedes
Transforme rápida y fácilmente un gran conjunto de datos en páginas fáciles de navegar con
Sólo unas pocas líneas de código. De Verdad.
Este ejemplo se compondrá de dos scripts, la clase de paginador reutilizable y el archivo de índice que mostrará los elementos de la tabla y los controles..
La clase de paginador tendrá solo dos métodos y el constructor, lo construiremos gradualmente explicando cada paso a medida que avanzamos.
Esta definición solo establece las variables miembro requeridas por el paginador, ya que se trata de una clase auxiliar y está destinada a la paginación solo porque se basará en una conexión válida con el servidor MySQL y en una consulta ya definida que agregaremos los parámetros necesarios para paginar los resultados. Comenzaremos con el método constructor..
_conn = $ conn; $ esto -> _ consulta = $ consulta; $ rs = $ this -> _ conn-> query ($ this -> _ query); $ this -> _ total = $ rs-> num_rows;
Muy simple ¿verdad? Este método solo establece la conexión de la base de datos del objeto y la consulta necesaria, después de eso calcula el número total de filas recuperadas por esa consulta sin ningún límite ni parámetro de salto, este total es necesario para crear los enlaces para el paginador.
Tenga en cuenta que, para simplificar, no estamos realizando una comprobación de errores ni ninguna otra validación de los parámetros dados, pero en una aplicación real, estas comprobaciones serán necesarias..
Recuperando resultados
Ahora vamos a crear el método que realmente pagine los datos y devuelva los resultados.
_limit = $ limit; $ this -> _ page = $ page; if ($ this -> _ limit == 'all') $ query = $ this -> _ query; else $ query = $ this -> _ query. " LÍMITE " . (($ this -> _ page - 1) * $ this -> _ limit). ", $ esto -> _ límite"; $ rs = $ this -> _ conn-> query ($ query); while ($ row = $ rs-> fetch_assoc ()) $ results [] = $ row; $ result = new stdClass (); $ result-> page = $ this -> _ page; $ result-> limit = $ this -> _ limit; $ resultado-> total = $ esto -> _ total; $ resultado-> datos = $ resultados; devuelve $ resultado;Analicemos esto paso a paso, primero establecemos el límite y los parámetros de la página, que de forma predeterminada se establecen en 10 y 1 respectivamente. Luego verificamos si el usuario requiere un número determinado de filas o todas ellas, basándonos en esto y en el parámetro de página que configuramos
LÍMITE
parámetro de la consulta, el "- 1" de la página tiene en cuenta el hecho de que estamos comenzando las páginas en 1 en lugar de 0.Después de esto, simplemente evaluamos la consulta y obtenemos los resultados, finalmente creamos un nuevo objeto de resultados que contiene el límite, la página y los parámetros totales de la consulta ejecutada, así como los datos para cada una de las filas recuperadas..
Visualización de enlaces de paginación
Ahora escribamos el método usado para obtener los enlaces de paginación..
_limit == 'all') return "; $ last = ceil ($ this -> _ total / $ this -> _ limit); $ start = (($ $ this -> _ page - $ links)> 0)? $ this -> _ page - $ enlaces: 1; $ fin = (($ $ esto -> _ página + $ enlaces) < $last ) ? $this->_page + $ links: $ last; $ html = '
Este es un método bastante largo, algo así como 34 líneas de código, así que ahora vamos a explicar lo que está pasando en este método..
Eso es todo lo que hay en el Paginator.class, por supuesto, podríamos agregar definidores y captadores para la conexión de la base de datos, el límite, la página, la consulta y los parámetros totales, pero por simplicidad lo mantendremos de esta manera.
Ahora crearemos el archivo a cargo de usar la clase Paginator y mostrar los datos, así que primero permítame mostrarle la base HTML.
Paginación de PHP Paginación de PHP
Ciudad País Continente Región