"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
|