Consulta em um banco de dados MySQL utilizando PHP e com paginação em Bootstrap 5

Fala pessoal, tudo certinho?

Pensei em escrever sobre algo bem simples, mas muito utilizado pela galera que desenvolve pra web.

Vamos criar um exemplo simples de como realizar uma consulta em um banco de dados MySQL utilizando PHP e adicionar paginação usando Bootstrap 5:

Primeiro, crie a tabela em seu banco de dados MySQL. Por exemplo:

CREATE TABLE usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(50),
    email VARCHAR(100)
);

Agora, crie um arquivo PHP para a consulta e a paginação. O arquivo abaixo já está comentado, explicando todo o passo-a-passo:

<?php
// Conexão com o banco de dados
$servername = "seu_servidor";
$username = "seu_usuario";
$password = "sua_senha";
$dbname = "seu_banco_de_dados";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Conexão falhou: " . $conn->connect_error);
}
// Paginação
$itemsPorPagina = 5;
$paginaAtual = isset($_GET['pagina']) ? $_GET['pagina'] : 1;
$offset = ($paginaAtual - 1) * $itemsPorPagina;
// Consulta ao banco de dados
$sql = "SELECT * FROM usuarios LIMIT $itemsPorPagina OFFSET $offset";
$result = $conn->query($sql);
// Exibição dos dados
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"] . " - Nome: " . $row["nome"] . " - Email: " . $row["email"] . "<br>";
    }
} else {
    echo "Nenhum resultado encontrado.";
}
// Contagem total de registros para calcular a paginação
$sqlTotal = "SELECT COUNT(id) AS total FROM usuarios";
$resultTotal = $conn->query($sqlTotal);
$rowTotal = $resultTotal->fetch_assoc();
$totalItens = $rowTotal['total'];
// Cálculo do número de páginas
$totalPaginas = ceil($totalItens / $itemsPorPagina);
// Links para a paginação usando Bootstrap
echo '<ul class="pagination">';
for ($i = 1; $i <= $totalPaginas; $i++) {
    echo '<li class="page-item ' . ($i == $paginaAtual ? 'active' : '') . '"><a class="page-link" href="?pagina=' . $i . '">' . $i . '</a></li>';
}
echo '</ul>';
// Fechando a conexão
$conn->close();
?>

Lembre-se de substituir as informações de conexão ($servername, $username, $password e $dbname) de acordo com as credenciais do seu próprio banco de dados MySQL.

Essa é apenas uma implementação simples para consulta e paginação, que pode ser expandida e otimizada dependendo das necessidades específicas do seu projeto.

Deixe um comentário