Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SOUSA VARELA

Eliminar Registos de uma tabela

Recommended Posts

Boas Pessoal,

Tenho uma tabela vinda da BD e quero eliminar um registo de cada vez ao clicar num ícone(função eliminar).

Define uma variável ID com GET, mas ele não esta a pegar o ID do registo, mas a função esta a funcionar normalmente!

O que deve ser isso?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

// Recuperando ID do cliente
$id = $_GET['id'];

if($_SERVER['REQUEST_METHOD']=='POST') {

$acao = isset($_POST['acao'])?strtolower($_POST['acao']):null;

// ACAO DE REMOVER 
switch($acao){

case 'remover':
 // Removendo 
$apagar = mysql_query("DELETE FROM user WHERE id = '".$id."'");

// Caso remova com sucesso
if ($apagar==true) {
echo "<script language='javascript'>alert('removido com sucesso!'); window.location.href = 'list.php'</script>";
// Caso haja algum problema na remoção
} else {
echo "<script language='javascript'>alert('Não foi possível remover!')</script>";
}
 	break;
}}?>
//função jscript
<script language="javascript">
// Função para confirmar a remoção
function remover(){
var confirma = confirm('Deseja remover?');
if (confirma) {
document.getElementById('acao').value = 'remover';
document.getElementById('list').submit();
}}
</script>

//Este é o form:
<form id="list" name="list" method="post" action="">
 <div align="center">
   <fieldset>
     <legend>Listar</legend>
     <h3>Elementos Cadastrados</h3>
     <table width="85%" border="0" align="center" cellpadding="0" cellspacing="1" style="text-align:center;">
   <tr align="center" style="height:25px;  background:url(imagens/barra.jpg); color:#fff; text-decoration:none; font-family:Verdana, Geneva, sans-serif; text-align:center; padding:0 0 0 10px; font-size:11px;">

     <td><b>atributo1</b></td>
     <td><b>atributo1</b></td>
     <td><b>Ação</b></td>
     <td><input type="hidden" id="acao" name="acao" /></td>
     <td><input type="hidden" id="id" name="id" /></td>
     </tr>
   <tr style="font-family:arial, verdana, sans-serif; text-align:center; padding:0 0 0 10px; font-size:11px; background:<?php echo $cor ?>;"> 

     <td><?php echo $texto->atributo1 ?></td>
     <td><?php echo $texto->atributo1 ?></td>
     <td><a href="javascript: void(0);" onclick="remover()"><img src="imagens/delete.png" width="16" height="16" alt="Apagar" /></a></td>
     </tr></table>

A questão é que ele não esta a pegar o ID do registo!

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

rode assim, e descubra o motivo:

 

 $apagar = mysql_query("DELETE FROM user WHERE id = {$id}") or die( mysql_error() );

 

 

leia: http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas,

 

Activei o relatório de erros, estes são os erros reportados pelo sistema;

 

Notice: Undefined index: id in C:\wamp\www\...

Notice: Undefined variable: conexaoBD in C:\wamp\...

 

Warning: mysql_close() expects parameter 1 to be resource, null given in C:\wamp\www\...

 

E continua a não pegar o ID!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay, aqui então:

 

// Recuperando ID do cliente
       $id = $_GET['id'];
echo '<pre>';
var_dump( $_GET );

 

poste a saída.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão de não estar deletando pode ser por causa de erros que você está ignorando. Poste os erros pra a gente poder saber do que se trata o problema...

Compartilhar este post


Link para o post
Compartilhar em outros sites

OI,

A questão não é a apresentação dos erros, mas sim não conseguir eliminar registos na tabela.

 

Abraços

 

 

Tentar resolver seu problema nas escuras fica complicado. Primeiro temos que saber quais são os erros para depois resovê-los

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas Pessoal,

 

Os erros já os coloquei;

Notice: Undefined index: id in C:\wamp\www\...
Notice: Undefined variable: conexaoBD in C:\wamp\...

Coloquei a condição que o William Bruno falou, mas também não teve êxito.

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em que momento você está fazendo a conexão com o banco de dados ?

 

Se

var_dump( $_GET ); 
/*

está retornando

array
 empty

*/

você não está recebendo nesta página nenhum valor vindo por GET.

 

Para que serve estes inputs ?

<td><input type="hidden" id="acao" name="acao" /></td>
<td><input type="hidden" id="id" name="id" /></td>

 

Se você tem intenção re recuperar algum valor, tá faltando o atributo value.

<td><input type="hidden" id="acao" name="acao" value="remover"/></td>
<td><input type="hidden" id="id" name="id" value="id_usuario"/></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.