Estou com um problema na paginação. A primeira página funciona muito bem, mas quando clico na pagina seguinte, percebi que a variável responsável pela busca, está perdendo o valor, ficando em branco.
Agradeceria muito se puderem me ajudar nesse problema.
$resultadosPaginados = "SELECT * FROM cidades WHERE uf = ? ORDER BY nome ASC LIMIT $indicePrimeiroRegistro, $porPagina";
$stmt = $conn->prepare($resultadosPaginados);
$stmt->bind_param('i', $estado);
$stmt->execute();
$resultadoPaginado = $stmt->get_result();
Pergunta
Kekes
Estou com um problema na paginação. A primeira página funciona muito bem, mas quando clico na pagina seguinte, percebi que a variável responsável pela busca, está perdendo o valor, ficando em branco.
Agradeceria muito se puderem me ajudar nesse problema.
o código está abaixo.
<?php include_once "mainCity.php"; ?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cidades / Estados</title>
<link rel="stylesheet" href="adm_css/admCity.css" />
</head>
<body>
<main>
<div class="main-container">
<div class="cities-container">
<div class='cidade-container'>
<table>
<thead>
<tr id="coluns">
<th id="id">ID</th>
<th id="cidade">Cidade / Estado</th>
<th id="opcoes">Opções</th>
</tr>
</thead>
<?php
$estado = htmlspecialchars(base64_decode(isset($_GET['e']) ? $_GET['e'] : ""), ENT_QUOTES);
echo 'Estado: '.$estado;
$sql = "SELECT * FROM cidades WHERE uf = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('i', $estado);
$stmt->execute();
$result = $stmt->get_result();
$porPagina = 12; //registros por página
$totalRegistros = mysqli_num_rows($result); //total de registros encontrados
$totalPaginas = ceil($totalRegistros / $porPagina); //quantas páginas serão exibidas
$paginaAtual = isset($_GET['pagina']) ? $_GET['pagina'] : 1;
$indicePrimeiroRegistro = ($paginaAtual - 1) * $porPagina;
$resultadosPaginados = "SELECT * FROM cidades WHERE uf = ? ORDER BY nome ASC LIMIT $indicePrimeiroRegistro, $porPagina";
$stmt = $conn->prepare($resultadosPaginados);
$stmt->bind_param('i', $estado);
$stmt->execute();
$resultadoPaginado = $stmt->get_result();
while ($linha = $resultadoPaginado->fetch_assoc()) {
$idCidade = $linha['id'];
$nomeCidade = $linha['nome'];
$c = base64_encode($idCidade);
echo '<thead>
<tr id="list">
<th id="id">'.$idCidade.'</th>
<th id="cidade"><a href="admEditCity.php?c='.$c.'">'.$nomeCidade. '</a></th>';
echo '<th id="opcoes"><a href="admEditCity.php?c='.$c.'"><i class="bi-pencil-square"></i></a></th>
</tr>
</thead>';
} ?>
</table>
</div>
<div class='pagination-container'>
<!-- Exibe a paginação -->
<ul class="pagination">
<?php
for ($pagina = 1; $pagina <= $totalPaginas; $pagina++) {
echo '<li class=page-item' .($pagina == $paginaAtual ? 'active' :''). '"><a class="page-link" href="?pagina=' .$pagina.'">' .$pagina .'</a></li>';
}
?>
</ul>
</div>
</div>
</div>
</main>
<footer>
<?php include_once '../footer.html'; ?>
</footer>
</body>
</html>
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.