PHP Classes

How to Use a PHP Pagination Library to Display Listings with Results of MySQL Queries Using the Package Lou Paginar MySQL: Paginate listings of MySQL query results

Recommend this page to a friend!
  Info   Example   Screenshots   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2025-04-07 (11 days ago) RSS 2.0 feedNot yet rated by the usersTotal: Not yet counted Not yet ranked
Version License PHP version Categories
lou-paginar-mysql 1.0.0GNU General Publi...5Databases, Content management, Design..., P...
Description 

Author

This package can paginate listings of MySQL query results.

It provides a class that can execute a given SQL query after connecting to a MySQL database server using PHP MySQLi extension.

The class can return with an array with query results and HTML with links to let the users navigate between different Web pages that show the query results.

Picture of António Lourenço
  Performance   Level  

 

Instructions

To use this package, you can start with the index.php script.

  • Includes the paginate.php file, making the classes available.
  • Database connection details (host, user, password, database name) and number of results per page are defined.
  • A DatabasePaginationWrapper object is created, passing configuration details to its constructor.
  • An SQL query is defined, for example, SELECT * FROM noticias
  • The wrapper's exibirResultados() method is called, passing the query.
  • Retrieves paged results.
  • Displays pagination links.
  • Returns the result set for the current page.
  • Iterates through the result set and displays the data for each row.
  • Close connection.

Example


<!DOCTYPE html>
<html>
<head>
    <title>My Pagination</title>
    <link rel="stylesheet" href="style.css"> </head>
<body>
<?php
/*
* Projectname: Lou Paginar Mysql class
* Description: Aplication example
* Descrição: Exemplo de aplicação
* Criated: 24Mar25
* Author: Antonio Lourenço
* License: MIT
* Version: 1.00
*/

require_once('paginate.php');
/* uso do wrapper */
$host = "localhost";
$user = "root";
$pass = "mysql";
$baseDeDados = "test";
$resultadosPorPagina = '10';

// Cria uma instância do wrapper
$wrapper = new DatabasePaginationWrapper($host, $user, $pass, $baseDeDados, $resultadosPorPagina);

// Define a query e o campo a ser exibido
$query = "SELECT * FROM noticias";
echo
'<br><br>';
// Exibe os resultados e a paginação
$resultados = $wrapper->exibirResultados($query);
echo
'<br><br>';
    if(
$resultados){
        while(
$row = $resultados->fetch_assoc()){
           
//print_r($row);
           
echo $row['id']." - " .$row['referencia']." - " .$row['titulo']." - " .$row['data'];
            echo
'<br>';
        }
    }
// Fecha a conexão com o banco de dados
$wrapper->fecharConexao();

?>
</body>
</html>


Details

"Lou Paginar Mysql Class" package This PHP package, called "Lou Paginar Mysql", provides a reusable and organized way to implement pagination for data retrieved from a MySQL database. It consists of two main components: The main advantages are: 1. Encapsulation: Database connection and paging logic are encapsulated within classes, making the code more organized and reusable. 2. Centralized logic: All paging-related code is in one place, making it easy to maintain and modify. 3. Simplified use: DatabasePaginationWrapper simplifies the pagination deployment process by requiring minimal code in the main application file. 4. Clean code: The code is well structured and commented, making it easy to understand. 5. Reusable: Classes can be easily reused in other projects. 6. Clear separation of concerns: Database connection and paging logic are separated into different classes. In essence, this package is a well-designed, object-oriented solution for adding pagination to PHP applications that interact with MySQL databases. DatabasePaginationWrapper class: Objetive: This class acts as a wrapper, encapsulating the database connection and paging logic. It simplifies the process of connecting to the database, retrieving paginated results, and displaying pagination links. Features: 1. Database Connection: Handles connection to MySQL database using mysqli. 2. Error handling: checks for connection errors and terminates execution if an error occurs. 3. Pagination Integration: Creates an instance of the Pagination class to manage the pagination logic. Méthods: ? ExibirResultados(): o Takes an SQL query as input. o Retrieves the paginated results from the database using the Paginacao o Displays pagination links (First, Previous, page numbers, Next, Last). o Returns the result set for the current page. ? FecharConexao(): Closes the connection to the database. ? Constructor: o Takes as arguments the database connection parameters (host, user, password, database name) and the number of results per page. o Establishes connection to the database. o Initializes the Pagination object. Paginaçao class: Objective: This class handles the main paging logic. Calculates the total number of pages, determines the current page and generates the pagination links. Méthods ? obterResultados(): o Takes an SQL query as input. o Counts the total number of results that match the query. o Calculates the total number of pages o Determines the OFFSET of the current o Add ORDER BY id DESC and LIMIT clauses to the query to retrieve only results from the current page. o Executes the modified query and returns the result set. ? getLinks(): o Generates HTML links for pagination (First, Previous, page numbers, Next, Last). o Constructs the URLs for each link by including the page parameter in the query string (e.g. index.php?page=2 o Returns links as a string, separated by " | ". ? Constructor: o Takes as arguments the database connection object and the number of results per page. o Sets the number of results per page o Determines the current page from the $_GET['page'] parameter (defaults to 1 if not defined). Operation (em index.php) ? Includes the paginate.php file, making the classes available. ? Database connection details (host, user, password, database name) and number of results per page are defined. ? A DatabasePaginationWrapper object is created, passing configuration details to its constructor. ? An SQL query is defined (for example, SELECT * FROM noticias ? The wrapper's exibirResultados() method is called, passing the query. ? Retrieves paged results. ? Displays pagination links. ? Returns the result set for the current page. ? Iterates through the result set and displays the data for each row. ? Close connection. PT Pacote "Lou Paginar Mysql Class" Este pacote PHP, denominado " Lou Paginar Mysql", fornece uma forma reutilizável e organizada de implementar a paginação para dados recuperados de uma base de dados MySQL. É constituído por dois componentes principais: As principais vantagens são: 1. Encapsulamento: A ligação à base de dados e a lógica de paginação são encapsuladas dentro das classes, tornando o código mais organizado e reutilizável. 2. Lógica centralizada: Todo o código relacionado com a paginação está num só local, facilitando a manutenção e a modificação. 3. Utilização simplificada: O DatabasePaginationWrapper simplifica o processo de implementação de paginação, exigindo código mínimo no ficheiro principal da aplicação. 4. Código Limpo: O código está bem estruturado e comentado, facilitando a compreensão. 5. Reutilizável: As classes podem ser facilmente reutilizadas noutros projetos. 6. Separação clara de preocupações: A ligação à base de dados e a lógica de paginação estão separadas em classes diferentes. Na sua essência, este pacote é uma solução bem concebida e orientada a objetos para adicionar paginação a aplicações PHP que interagem com bases de dados MySQL. Classe DatabasePaginationWrapper: Objetivo: Esta classe atua como um wrapper, encapsulando a ligação à base de dados e a lógica de paginação. Simplifica o processo de ligação à base de dados, recuperando resultados paginados e exibindo links de paginação. Características: 1. Ligação à base de dados: trata da ligação à base de dados MySQL usando mysqli. 2. Tratamento de erros: verifica os erros de ligação e termina a execução se ocorrer um erro. 3. Integração de Paginação: Cria uma instância da classe Paginação para gerir a lógica de paginação. Métodos: ? ExibirResultados(): o Recebe uma consulta SQL como entrada. o Recupera os resultados paginados da base de dados utilizando a classe Paginacao. o Apresenta os links de paginação (Primeiro, Anterior, números de página, Seguinte, Último). o Retorna o conjunto de resultados da página atual. ? FecharConexao(): Fecha a ligação à base de dados. ? Construtor: o Toma como argumentos os parâmetros de ligação à base de dados (host, utilizador, palavra-passe, nome da base de dados) e o número de resultados por página. o Estabelece a ligação com a base de dados. o Inicializa o objeto Paginação. Class de paginacao: Objetivo: Esta classe lida com a lógica de paginação principal. Calcula o número total de páginas, determina a página atual e gera os links de paginação. Métodos ? obterResultados(): o Recebe uma consulta SQL como entrada. o Conta o número total de resultados que correspondem à consulta. o Calcula o número total de páginas. o Determina o OFFSET da página atual. o Acrescenta as cláusulas ORDER BY id DESC e LIMIT à consulta para recuperar apenas os resultados da página atual. o Executa a consulta modificada e devolve o conjunto de resultados. ? getLinks(): o Gera os links HTML para paginação (Primeiro, Anterior, números de página, Seguinte, Último). o Constrói os URLs para cada link, incluindo o parâmetro página na string de consulta (por exemplo, index.php?pagina=2). o Retorna os links como uma string, separados por " | ". ? Construtor: o Toma como argumentos o objeto de ligação à base de dados e o número de resultados por página. o Define o número de resultados por página. o Determina a página actual a partir do parâmetro $_GET['pagina'] (o predefinido é 1 se não estiver definido). Funcionamento (em index.php) ? Inclui o ficheiro paginate.php, disponibilizando as classes. ? São definidos os detalhes da ligação à base de dados (host, utilizador, palavra-passe, nome da base de dados) e o número de resultados por página. ? É criado um objeto DatabasePaginationWrapper, passando os detalhes da configuração para o seu construtor. ? É definida uma consulta SQL (por exemplo, SELECT * FROM noticias). ? O método exibirResultados() do wrapper é chamado, passando a consulta. ? Recupera os resultados paginados. ? Apresenta os links de paginação. ? Retorna o conjunto de resultados da página atual. ? Itera pelo conjunto de resultados e apresenta os dados de cada linha. ? Fechar ligação

Screenshots (1)  
  • paginar_1.jpg
  Files folder image Files (7)  
File Role Description
Accessible without login Plain text file index.php Example example for use class
Accessible without login Plain text file noticias.sql Data data file
Plain text file paginate.php Class Implementa a paginação para dados recuperados de uma base de dados MySQL.
Accessible without login Plain text file style.css Data CSS styles
Accessible without login Plain text file readme.txt Doc. Documentation
Accessible without login Plain text file README.md Doc. Documentation

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads  
 14%
Total:0
This week:0