PHP Classes

File: readme.txt

Recommend this page to a friend!
  Classes of António Lourenço   Lou Paginar MySQL   readme.txt   Download  
File: readme.txt
Role: Documentation
Content type: text/plain
Description: Documentation
Class: Lou Paginar MySQL
Paginate listings of MySQL query results
Author: By
Last change:
Date: 2 months ago
Size: 8,371 bytes
 

Contents

Class file image Download
"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