Ir para conteúdo

POWERED BY:

Arquivado

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

duffbeer

[Resolvido] Apagar dado do mySQL sem chamar outra página

Recommended Posts

Pessoal,

 

Não achei tópico que respondesse essa questão, por isso criei um.

Criei um formulário para inserir dados no meu BD e na sequência mostrar os últimos dados inseridos.

Ao mostrar as linhas, coloquei um botão (form) para deletar aquela linha específica, porém quando o aperto, ele deleta todas as linhas e não apenas aquela. Segue código:


mysql_select_db($database_config, $config);
$query_Recordset1 = "SELECT nome, categoria, descricao, id FROM transacoes ORDER BY `id` DESC";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $config) or die(mysql_error());
$row_Recordset1 = mysql_fetch_array($Recordset1);
.
.
.
/*leitura dos últimos dados inseridos*/
<table align="center" border="1" cellpadding="1" cellspacing="1">
 <tr>
   <td><center>NOME</center></td>
   <td><center>CATEGORIA</center></td>
   <td><center>DESCRIÇÃO</center></td>
 </tr>
 <?php do { ?>
 	<?php $id = $row_Recordset1['id']; ?>
   <tr>
     <td><?php echo $row_Recordset1['nome']; ?></td>
     <td><?php echo $row_Recordset1['categoria']; ?></td>
     <td><?php echo $row_Recordset1['descricao']; ?></td>
     <td><form method="post" action="<?php if(isset($_POST['submit'])) {mysql_query("DELETE FROM transacoes WHERE id = '$id'");} ?>">
           <input type="submit" name="submit" value="<?php echo $id; ?>" > /*verificação se $id está pegando valor correto*/
           </span>
         </form>
     </td>
   </tr>
   <?php } while ($row_Recordset1 = mysql_fetch_array($Recordset1)); ?>
</table>
   </div>

 

Se no lugar da variável $id eu colocar o número do ID ele funciona, mas quando uso a variável ele apaga todas as linhas.

Se alguém puder ajudar, agradeço.

 

Atte,

Jimmy

Compartilhar este post


Link para o post
Compartilhar em outros sites

apaga todas as linha do visual html ou do banco de dados ? some todos os registro

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui qnd deu problema desse tipo foi tirar o '

 

troca de '$id' para $id dentro da instrucao sql

 

Já fiz de tudo e o problema persiste. Já usei todas as variações possíveis: id = $id, id = '$id', id = "$id".

Não sei mais o que fazer, tou quase apelando pra chamar uma página externa.

 

Atte,

Jimmy

 

apaga todas as linha do visual html ou do banco de dados ? some todos os registro

 

Apaga tudo lá no BD mesmo.

Quando eu coloco o número do id ao invés da variável ele apaga certinho apenas a linha na visualização e no BD.

Alguma idéia?

 

Abs,

Jimmy

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que parece a variavel de

<?php echo $id; ?>

não esta recebendo o valor, manda visualizar ela fora do

<input

 

ou transforma este botão num caixa de entrada e repara se a variável esta tendo valor

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que parece a variavel de

<?php echo $id; ?>

não esta recebendo o valor, manda visualizar ela fora do

<input

 

ou transforma este botão num caixa de entrada e repara se a variável esta tendo valor

Já fiz isso. Aparece corretamente o valor das IDs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o seguinte apaga esta linha

<td><form method="post" action="<?php if(isset($_POST['submit'])) {mysql_query("DELETE FROM transacoes WHERE id = '$id'");} ?>">
           <input type="submit" name="submit" value="<?php echo $id; ?>" > /*verificação se $id está pegando valor correto*/
           </span>
         </form>
     </td>

e coloca esta esta e ver se resolve

<td><form method="post" action="<?php if(isset($_POST['submit'])) {mysql_query("DELETE FROM transacoes WHERE id = '$id'");} ?>">
           <input type="submit" name="submit" value="<?php echo $id; ?>" > 
<input type="hidden" name="id" value="<?php echo $id; ?>" />
           </span>
         </form>
     </td>

olha se resolve

pensei em colocar um campo oculto

so testa ve se resolve

Compartilhar este post


Link para o post
Compartilhar em outros sites

No action do form envie para $_SERVER["php_self"], ou seja, a mesma página.

 

Crie uma function que delete do banco o registro com o ID, passando este como parâmetro e coloque <?php del_record($param); ?> no atributo "value" do botão, dinamicamente, de acordo com o select que gera a tabela de últimos registros...

 

Me corrijam se eu estiver errado, mas já vi algo parecido funcionando direitin...=P

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o seguinte apaga esta linha

<td><form method="post" action="<?php if(isset($_POST['submit'])) {mysql_query("DELETE FROM transacoes WHERE id = '$id'");} ?>">
           <input type="submit" name="submit" value="<?php echo $id; ?>" > /*verificação se $id está pegando valor correto*/
           </span>
         </form>
     </td>

e coloca esta esta e ver se resolve

<td><form method="post" action="<?php if(isset($_POST['submit'])) {mysql_query("DELETE FROM transacoes WHERE id = '$id'");} ?>">
           <input type="submit" name="submit" value="<?php echo $id; ?>" > 
<input type="hidden" name="id" value="<?php echo $id; ?>" />
           </span>
         </form>
     </td>

olha se resolve

pensei em colocar um campo oculto

so testa ve se resolve

 

Nada ainda. Continua apagando todas as linhas. Não sei se é por causa do form estar dentro do loop, sei lá...

Compartilhar este post


Link para o post
Compartilhar em outros sites

No action do form envie para $_SERVER["php_self"], ou seja, a mesma página.

 

Crie uma function que delete do banco o registro com o ID, passando este como parâmetro e coloque <?php del_record($param); ?> no atributo "value" do botão, dinamicamente, de acordo com o select que gera a tabela de últimos registros...

 

Me corrijam se eu estiver errado, mas já vi algo parecido funcionando direitin...=P

Oi amigo, como não sou programador, apenas entusiasta, se possível, postar o código para análise.

Grato,

Jimmy

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.