Ir para conteúdo
Fórum Script Brasil
  • 0

Como manter um CheckBox Selecionado mesmo mudando de Page na Paginação?


kali.potter

Pergunta

Meu Problema é o seguinte estou fazendo um sistema de insert, update e delete e tem uma page que eu criei chamada histórico que lá lista tudo oque eu fiz no sistema por exemplo:

O admin cadastrou tal coisa as  12:00 horas

Nesta page eu fiz um sistema de paginação pois são muitos dados listados

Para excluir eu fiz um esquema check box que o usuario pode seleciona os itens que ele quer excluir

 

mais o problema é o seguinte quando ele muda da page 1 para 2 e depois volta para 1 todos os checks que eu marquei são desmarcados

ai por meio deste tópico eu queria algumas sugestões de como eu posso resolver isto

 

<style>
#acao, .acao2{
	display: none;
}

.icDeletar{
	color: #DD0D07; text-shadow: -2px 2px 2px #BCBCBC;
}

.icDeletar:hover{
	color: #C82333;
}

#fundoTabCinza{
	background-color: #E9ECEF;
}
</style>



<h4 class="mt-3">Histórico completo<i id="icon2" class="far fa-clock icones"></i></h4>

<hr>

<table class="table text-center table-borderless table-hover" id="tabelaTodosHistorico">

	<thead id="tabelas" class="thead-light">
		<tr id="fundoTabCinza">
			<th scope="col">Check</th>
			<th scope="col">Usuário</th>
			<th scope="col">Ação</th>
			<th scope="col">Data/Hora</th>
			<th id="acao" scope="col">Deletar</th>
		</tr>
	</thead>

	<?php

//itens por pagina
$itens_por_pagina = 10;

if (!isset($_GET['pagina'])) {
	$_GET['pagina'] = "0";
}

$pagina = htmlspecialchars(intval($_GET['pagina']));

//pega a quantidade total do banco
$q = mysqli_query($conn, "SELECT * FROM hist");

$num_total = $q->num_rows;

// definir numero de paginas
$num_paginas = ceil($num_total / $itens_por_pagina);

//conteudo de paginas, tras o conteudo para a pagina certa
if ($pagina != 0) {
	$pagina = +$itens_por_pagina * $pagina;
	$itens_por_pagina = +$itens_por_pagina;
}

$buscarHist = "SELECT * FROM hist ORDER BY id_h DESC LIMIT $pagina, $itens_por_pagina";

if (!$stmt = $conn->prepare($buscarHist)) {
	die("Erro : " . $conn->erro);
}

$stmt->execute();

$result = $stmt->get_result();

$num = $result->num_rows;

if (!$result->num_rows == 0) {

	while ($puxaHist = $result->fetch_assoc()) {

		?>

			<tbody class="text-center">
				<tr style="color: #404040">

					<form method="post" action="model/del_hist_sel.php">

				

					<th scope="row">
						<input name="check[]" id="check" class="comp"  type="checkbox"  value= "<?php echo $puxaHist ['id_h'];  ?>">
					</th>

					<th scope="row">
						<?php echo $puxaHist['login_alt']; ?>
					</th>

					<th scope="row">
						<?php echo $puxaHist['acao_h']; ?>
					</th>

					<th scope="row">
						<?php $dataBanco = date("d/m/Y" . " - " . "H:i:s", strtotime($puxaHist['data_hora']));
		echo $dataBanco;?>
					</th>

					<th class="acao2" scope="row">
						<a class="fas fa-trash icDeletar" href="model/del_hist.php?codEx=<?php echo $puxaHist['id_h']; ?>" onclick="return confirm('Deseja deletar linha do histórico?')" style="color: #DD0D07; text-shadow: -2px 2px 2px #BCBCBC;" data-toggle="tooltip" data-placement="right" title="Deletar Histórico"></a>
					</th>

			<?php } //fim do while

	?>

		</tr>

		<td colspan="4">

			<small>Listagem feita em <?php date_default_timezone_set('America/Sao_Paulo');
	echo date('m-d-Y');?>, ás <?php echo date('H:i'); ?>.  <a style="margin-left: 27px; transform: scale(1.5); " href="model/del_todo_hist.php?excluir=<?php echo 'todos'; ?>" class="badge badge-pill badge-warning" onclick="return confirm('Deseja excluir todo o Histórico ?')" data-toggle="tooltip" data-placement="top" title="Deletar histórico completo"> Deletar todos</a></small>

		</td>

	</tbody>


	<?php

} // fim if rows

else {

	?>

	<tbody>

		<td colspan="7">
			Lista vazia, não existe nenhum histórico...
		</td>

	</tbody>

	<?php

}

?>

</table>


<nav>

	<ul class="pagination justify-content-center">

		<!-- Conhece a primeira pagina e bloqueia a opção de ir para primeira -->
		<?php $prev = ""; $cPrev = ""; if($pagina == 0){$prev = "disabled"; $cPrev = "style=\"cursor: not-allowed;\"";} ?>

		<li class="page-item <?php echo $prev; ?>" 
			<?php echo $cPrev; ?> >
			<a class="page-link" href="home.php?pag=lt-hist&pagina=0"><span aria-hidden="true">&laquo;</span>
			<span class="sr-only">Previous</span></a></li>

			<?php for ($i = 0; $i < $num_paginas; $i++) {

	$estilo = "";

	//deixa o botao da pagina clicado ativo
	if (htmlspecialchars(intval($_GET['pagina'])) == $i) {
		$estilo = "class=\"page-item active\"";
	}

	?>

				
				<li <?php echo $estilo; ?> ><a class="page-link" href="home.php?pag=lt-hist&pagina=<?php echo $i; ?>"><?php echo $i + 1; ?></a></li>

			<?php }?>
			
			<!-- Conhece a ultima pagina e bloqueia a opção de ir para ultima -->
			<?php $nex = ""; $cNex = ""; if(htmlspecialchars(intval($_GET['pagina'])) == $i-1){$nex = "disabled"; $cNex = "style=\"cursor: not-allowed;\"";} ?>

			<li class="page-item <?php echo $nex; ?>" <?php echo $cNex; ?> ><a class="page-link" href="home.php?pag=lt-hist&pagina=<?php if ($num_paginas != 0) {echo $num_paginas - 1;} else {}?>"><span aria-hidden="true">&raquo;</span>
				<span class="sr-only">Next</span></a></li>
			</ul>
		</nav>

		<div class="col-auto my-1 text-center">

			<button type="submit" class="btn btn-danger" id="btnApagaSel" name="btnApagaSel" data-toggle="tooltip" data-placement="top" title="Apagar itens Selecionados">Apagar Selecionados</button>

		</form>
			<button type="button" class="btn btn-danger" id="btnAcoes" name="btnAcoes" data-toggle="tooltip" data-placement="top" title="Expandir/ocultar ações">Ações</button>

			<a href="home.php"><button type="button" class="btn btn-primary" id="btnInicio" name="btnInicio">Início</button></a>
		</div>

		<br><br><br>



		<?php $conn->close(); ?>

 

Editado por kali.potter
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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...