DoisReal 0 Denunciar post Postado Julho 12, 2009 Vamos ao código: <?php include("funcoes.fcn"); $conexao = mysql_connect("localhost","root",""); $db = mysql_select_db("socios",$conexao); $sql = "DELETE FROM membros WHERE nome='$nome'"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados."); echo "<h1>O registro foi excluído com êxito!</h1>"; echo "<p><a href=menu.php>HOME</a></p><br>"; echo "<p><a href=exclusao.php>Nova Exclusão</a></p>"; ?> Aparece a mensagem de confirmação de exclusão, porém o registro não é excluido Tenho certeza que o problema é com a variável '$nome' Já tentei colocar antes de tudo --> $nome = $_POST["nome"]..........mas não resolveu Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 12, 2009 Imprima a $sql antes de executar... Veja se está conforme deveria. Carlos Eduardo PS: Quando tiver código, use as tags [c o d e ] e [/ c o d e] Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Julho 12, 2009 Tenta tirar a variável $resultado... Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 12, 2009 Imprima a $sql antes de executar... Veja se está conforme deveria. Carlos Eduardo PS: Quando tiver código, use as tags [c o d e ] e [/ c o d e] coloquei isso antes de tudo: ini_set('display_errors', 1); error_reporting(E_ALL); Como erro me retornou a frase: que a variavel nome não estava definida Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Julho 12, 2009 Correto. De onde vem o valor de $nome? Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 12, 2009 Correto. De onde vem o valor de $nome? Vem do resultado de uma pesquisa. Abaixo o trecho do codigo da pesquisa. <?php include("funcoes.fcn"); $conexao = mysql_connect("localhost","root",""); $db = mysql_select_db("socios",$conexao); $sql = "SELECT * FROM membros WHERE nome='$_POST[Escolha]'"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); while ($linha=mysql_fetch_array($resultado)) { $codigo=$linha["codigo"]; $nome = $linha["nome"]; $endereco = $linha["endereco"]; $cidade = $linha["cidade"]; $estado = $linha["estado"]; $idade = $linha["idade"]; $login = $linha["login"]; Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Julho 12, 2009 Mas no primeiro código, você não recebeu o parâmetro usando REQUEST. Faça essa correção, teste e poste o resultado. Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 12, 2009 Mas no primeiro código, você não recebeu o parâmetro usando REQUEST. Faça essa correção, teste e poste o resultado. A variável $nome vem de uma caixa de seleção chamada "Escolha" $sql = "SELECT * FROM membros WHERE nome='$_POST[Escolha]'"; alterei o código veja como ficou: <?php ini_set('display_errors', 1); error_reporting(E_ALL); include("funcoes.fcn"); $nome = $_POST["Escolha"]; $conexao = mysql_connect("localhost","root",""); $db = mysql_select_db("socios",$conexao); $sql = "DELETE FROM membros WHERE nome='request[$nome]'"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados."); echo "<h1>O registro foi excluído com êxito!</h1>"; echo "<p><a href=menu.php>HOME</a></p><br>"; echo "<p><a href=exclusao.php>Nova Exclusão</a></p>"; ?> Porém não deu certo !!! Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Julho 12, 2009 Como você colocou essa linha $nome = $_POST["Escolha"]; Mantenha a linha abaixo da forma inicial: $sql = "DELETE FROM membros WHERE nome='$nome'"; Obs. Utilize o BBCode [code ] para postar os códigos. Compartilhar este post Link para o post Compartilhar em outros sites
webmind 5 Denunciar post Postado Julho 12, 2009 para resolver qualquer problema é sempre mais facil fazer um "debug" das linhas mais possiveis onde esta o erro <?php ini_set('display_errors', 1); error_reporting(E_ALL); include("funcoes.fcn"); $nome = $_POST["Escolha"]; //vamo ver se esta a pegar o nome echo $nome; $conexao = mysql_connect("localhost","root",""); $db = mysql_select_db("socios",$conexao); $sql = "DELETE FROM membros WHERE nome='$nome'"; //vamo ver se a instrucao esta bem echo $sql; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados."); echo "<h1>O registro foi excluído com êxito!</h1>"; echo "<p><a href=menu.php>HOME</a></p><br>"; echo "<p><a href=exclusao.php>Nova Exclusão</a></p>"; ?> veja o resultado desses doi echos que foram colocados no codigo Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 12, 2009 Como você colocou essa linha$nome = $_POST["Escolha"]; Mantenha a linha abaixo da forma inicial: $sql = "DELETE FROM membros WHERE nome='$nome'"; Obs. Utilize o BBCode Coloquei assim:[code]$nome = $_POST["Escolha"]; $conexao = mysql_connect("localhost","root",""); $db = mysql_select_db("socios",$conexao); $sql = "DELETE FROM membros WHERE nome='$nome'"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados."); Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Julho 12, 2009 Mas e o resultado? Deu certo ou errado? Se deu errado, faça o que o webmind sugeriu. Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 12, 2009 para resolver qualquer problema é sempre mais facil fazer um "debug" das linhas mais possiveis onde esta o erro <?php ini_set('display_errors', 1); error_reporting(E_ALL); include("funcoes.fcn"); $nome = $_POST["Escolha"]; //vamo ver se esta a pegar o nome echo $nome; $conexao = mysql_connect("localhost","root",""); $db = mysql_select_db("socios",$conexao); $sql = "DELETE FROM membros WHERE nome='$nome'"; //vamo ver se a instrucao esta bem echo $sql; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados."); echo "<h1>O registro foi excluído com êxito!</h1>"; echo "<p><a href=menu.php>HOME</a></p><br>"; echo "<p><a href=exclusao.php>Nova Exclusão</a></p>"; ?> veja o resultado desses doi echos que foram colocados no codigo Coloquei, veja os erros que aparecem: Notice: Undefined index: Escolha in C:\wamp\www\excluir.php on line 14 DELETE FROM membros WHERE nome='' Compartilhar este post Link para o post Compartilhar em outros sites
webmind 5 Denunciar post Postado Julho 12, 2009 ok entao o problema vem do post! mostre o codigo da caixa de seleccao, provavelmente você nao tem o name="escolha". poste o html da pagina onde você tem a caixa de listagem Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Julho 12, 2009 Tenta dessa forma: $sql = "DELETE FROM membros WHERE nome='" . $nome . "'"; Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 12, 2009 ok entao o problema vem do post! mostre o codigo da caixa de seleccao, provavelmente você nao tem o name="escolha". poste o html da pagina onde você tem a caixa de listagem Primeiramente eu seleciono o nome que gostaria de excluir e pesquiso ele. <select name="Escolha" size="1" id="escolha"> <?php $conecta = mysql_connect('localhost','root',''); $bancodados = mysql_select_db('socios',$conecta); $pesquisa = "SELECT * FROM membros"; $resultado = mysql_query($pesquisa) or die ("Não foi possível realizar a consulta ao banco de dados"); While($registro=mysql_fetch_array($resultado)) { ?> <option ><?php echo $registro["nome"]?></option> <?php Logo após, aparece na tela todos os dados de quem quero excluir: <?php include("funcoes.fcn"); $conexao = mysql_connect("localhost","root",""); $db = mysql_select_db("socios",$conexao); $sql = "SELECT * FROM membros WHERE nome='$_POST[Escolha]'"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); while ($linha=mysql_fetch_array($resultado)) { $codigo=$linha["codigo"]; $nome = $linha["nome"]; $endereco = $linha["endereco"]; $cidade = $linha["cidade"]; $estado = $linha["estado"]; $idade = $linha["idade"]; $login = $linha["login"]; Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 12, 2009 Tenta dessa forma: $sql = "DELETE FROM membros WHERE nome='" . $nome . "'"; não deu........ Compartilhar este post Link para o post Compartilhar em outros sites
webmind 5 Denunciar post Postado Julho 12, 2009 ae esta o problema! é que o post vai pegar o value do option e nao o seu text. ou seja você tem por exemplo <option ><?php echo $registro["nome"]?></option> entao ele nao vai pegar nenhum valor mas se você colocar <option value="<?php echo $registro["nome"]?>" ><?php echo $registro["nome"]?></option> em principio vai funcionar se nao me enganei em nada Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 12, 2009 ae esta o problema! é que o post vai pegar o value do option e nao o seu text. ou seja você tem por exemplo <option ><?php echo $registro["nome"]?></option> entao ele nao vai pegar nenhum valor mas se você colocar <option value="<?php echo $registro["nome"]?>" ><?php echo $registro["nome"]?></option> em principio vai funcionar se nao me enganei em nada Não deu certo. Acho que a solução é algo assim: $nome = $registro["nome"]; Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Julho 12, 2009 Boa observação webmind. Não está sendo enviado nada como parâmetro e na outra página não também não tinha instrução para receber parâmetro. Compartilhar este post Link para o post Compartilhar em outros sites