Ir ao conteúdo

PHP Erro em Botão Deletar


Ir à solução Resolvido por Public2004,

Posts recomendados

Postado

Eu tinha um botao de deletar dentro do while ficava ao lado do botao "editar" e funcionava normal. Porém coloquei um modal para dar um aviso antes de deletar de uma vez o registro, e agora não está funcionando o delete... Ele pega sempre o ultimo registro e não o id correspondente como estava antes. Alguma ideia?

 

948060019_Semttulo2.thumb.png.b1bfbb301cbdf5ae835b5b250fd41c9d.png

Antes, ele pegava o id certo, qualquer registro... O id desse registro por exemplo é o '39' como na imagem...

 

1700130066_Semttulo.thumb.png.95311f9b576e7a9204a8379e0e1adc8c.png

Agora já com o modal, todos os registros aparecem com o ultimo id cadastrado... Não estou conseguindo achar o erro.

 

Segue os codigos

Código sem modal (Funcionando o delete)

		<?php 
			while($linha = mysqli_fetch_array($consulta_func_cargo)){
				echo '<tr><td >'.$linha['nome'].'</td>';
				echo '<td>'.$linha['cpf'].'</td>';
				echo '<td>'.$linha['rg'].'</td>';
				echo '<td>'.$linha['nome_cargo'].'</td>';
				echo '<td>'.'R$ '.$linha['limite_valor'].',00'.'</td>';
				if ($linha['status'] == 1){
					$status = "Ativado";
					echo '<td style="color:#009900">'.$status.'</td>';
				}else{
					$status = "Desativado";
					echo '<td style="color:red">'.$status.'</td>';
				}
				
			?>

			<td><a class="btn btn-warning" href="?pagina=inserir_func&editar=<?php echo $linha['id']; ?>">Editar</a></td>
			<td><a class="w3-button w3-red" href="deleta_func.php?id=<?php echo $linha['id']; ?>">Deletar</a></td></tr>

		<?php
			}
		?>

Código com Modal (não funciona o delete)

		<?php 
			while($linha = mysqli_fetch_array($consulta_func_cargo)){

  echo   '<div id="id01" class="w3-modal">
    <div class="w3-modal-content w3-animate-top w3-card-4">
      <header class="w3-container w3-blue"> 
        <a href="painel.php?pagina=func" 
        class="w3-button w3-display-topright">&times;</a>
        <h2>Deletar registro</h2>
      </header>
      <div class="w3-container">
        <p>Tem certeza que desaja apagar o registro?</p>
        <p><a class="w3-button w3-red" href="deleta_func.php?id='.$linha["id"].'">Sim, apagar!</a> <a class="w3-button w3-blue" href="painel.php?pagina=func">Voltar</a></p>
      </div>
    </div>
  </div>';

				echo '<tr><td >'.$linha['nome'].'</td>';
				echo '<td>'.$linha['cpf'].'</td>';
				echo '<td>'.$linha['rg'].'</td>';
				echo '<td>'.$linha['nome_cargo'].'</td>';
				echo '<td>'.'R$ '.$linha['limite_valor'].',00'.'</td>';
				if ($linha['status'] == 1){
					$status = "Ativado";
					echo '<td style="color:#009900">'.$status.'</td>';
				}else{
					$status = "Desativado";
					echo '<td style="color:red">'.$status.'</td>';
				}
				
			?>

			<td><a class="btn btn-warning" href="?pagina=inserir_func&editar=<?php echo $linha['id']; ?>">Editar</a></td>
			<td><a onclick="document.getElementById('id01').style.display='block'" class="btn btn-danger">Deletar</a></td></tr>

		<?php
			}
		?>

Acho que o problema pode estar no echo '';

  • Solução
Postado

@gramosiri Boas, Quanto ao problema, é que no loop todos os "modals" do laço possuem o mesmo "id" e quando você chama a partir de qq link dos registros listados, vai abrir sempre o último. O "id" deve ser único para cada modal e a sugestão é você criar o modal com "id" dinâmico, pode usar para isto o próprio identificador do registro, ex:

 

echo '<div id='.$linha["id"].' class="w3-modal">...
// e no link:
<a onclick="document.getElementById('.$linha["id"].').style.display='block'" class="btn btn-danger">Deletar</a>

 

Att.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!