duffbeer 0 Denunciar post Postado Maio 10, 2012 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
Renato Reis 7 0 Denunciar post Postado Maio 10, 2012 aqui qnd deu problema desse tipo foi tirar o ' troca de '$id' para $id dentro da instrucao sql Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Maio 10, 2012 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
duffbeer 0 Denunciar post Postado Maio 10, 2012 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
junaooaks 3 Denunciar post Postado Maio 10, 2012 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
duffbeer 0 Denunciar post Postado Maio 10, 2012 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
junaooaks 3 Denunciar post Postado Maio 10, 2012 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
atomicBRblaster 1 Denunciar post Postado Maio 10, 2012 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
duffbeer 0 Denunciar post Postado Maio 10, 2012 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
duffbeer 0 Denunciar post Postado Maio 11, 2012 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
duffbeer 0 Denunciar post Postado Maio 11, 2012 RESOLVIDO. Clique aqui Abs, Jimmy Compartilhar este post Link para o post Compartilhar em outros sites