Ygornet 0 Denunciar post Postado Novembro 14, 2006 Galera to aki quebrando cabeça com um script que fiz. Tipo.. insiro dados no bd atraves de um form, ateh aí beleza. Esses dados mostro em uma pagina, em forma de tabela, que puxa esses dados do bd. controle.php Nessa tabela tem o campo Excluir, com o seguinte link = <a href='excluir.php?id=$id'>Excluir</a>. excluir.php Nessa pagina eu tenho: $sql = "DELETE FROM dados WHERE id='$id'"; Bom aí vem o meu problema, quando clico em Excluir na linha que eu quero que exclua, só exclui a linha de ID menor, independente da linha selecionada. por exemplo: tenho no banco id = 1 id = 2 id = 3 Se clico rpa excluir id = 2, é excluido o id = 1 Isso tb ocorre se eu tentar excluir o id = 3. Oq pode ser isso? Compartilhar este post Link para o post Compartilhar em outros sites
ZENDMaN 0 Denunciar post Postado Novembro 14, 2006 Brother é necessario resgatar a var id na pagina excluir.php Ou seja: $id = $GET['id'];$sql = "DELETE FROM dados WHERE id='$id'"; ;) ps acho que entendi mal, mas de qualquer forma é preciso fazer o resgate da ver id http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Ygornet 0 Denunciar post Postado Novembro 14, 2006 ZENDMaNTo resgatando a variavel da seguinte forma:$sql2 = "SELECT * FROM dados ";$resultado2 = mysql_query($sql2) or die ("Não foi possível realizar a consulta ao banco de dados");while ($linha=mysql_fetch_array($resultado2)){$id = $linha["id"];...Pois esta armazenada no banco , e qndo passo o mouse em cima de cada excluir , aparece o id correto no link pra excluir , mas na hora q exclui nao exclui o id referente. Compartilhar este post Link para o post Compartilhar em outros sites
ZENDMaN 0 Denunciar post Postado Novembro 14, 2006 post seu script excluir.php http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Digo isso porque imagino que o erro esta no excluir.php Compartilhar este post Link para o post Compartilhar em outros sites
Ygornet 0 Denunciar post Postado Novembro 14, 2006 Excluir.php <?phpsession_start();include "autorizacao_adm.php";require"conexaod.php";//include"controle.php";$sql2 = "SELECT * FROM dados ";$resultado2 = mysql_query($sql2) or die ("Não foi possível realizar a consulta ao banco de dados");while ($linha=mysql_fetch_array($resultado2)){$id = $linha["id"];$nossonumero = $linha["nossonumero"];$nome = $linha["nome"];$valor = $linha["valor"];$rua = $linha["rua"];$cidade = $linha["cidade"];$estado = $linha["estado"];$cep = $linha["cep"];$data = $linha["data"];$hora = $linha["hora"];$cn_cpf = $linha["cn_cpf"];}$sql = "DELETE FROM dados WHERE id='$id'";$resultado = mysql_query($sql) or die ("Não foi possível executar a exclusão dos dados.");//echo"<h1>A notícia foi excluída com êxito!</h1>";echo "<script type=\"text/javascript\">";echo "alert('A baixa foi dada com sucesso!');";echo "self.location=\"controle.php\"";echo "</script>";?> Compartilhar este post Link para o post Compartilhar em outros sites
ZENDMaN 0 Denunciar post Postado Novembro 14, 2006 Brother deixe-me entender seu script, o excluir.php vai apenas excluir um determinado registro certo? se sim pra que isso? id = $linha["id"];$nossonumero = $linha["nossonumero"];$nome = $linha["nome"];$valor = $linha["valor"];$rua = $linha["rua"];$cidade = $linha["cidade"];$estado = $linha["estado"];$cep = $linha["cep"];$data = $linha["data"];$hora = $linha["hora"];$cn_cpf = $linha["cn_cpf"]; Compartilhar este post Link para o post Compartilhar em outros sites
Ygornet 0 Denunciar post Postado Novembro 14, 2006 Na verdade antes tava só o $id = $linha["id"];Mas coloquei os outros por que , copiei essa parte do script da pagina controle.php, que mostra todas as linhas cadastradas no banco, na tela.Ops esqueci de responder , sim , é só pra excluir Compartilhar este post Link para o post Compartilhar em outros sites
ZENDMaN 0 Denunciar post Postado Novembro 14, 2006 Então brother imagino que o script que lista os registro tenha um link do tipo: <a href='excluir.php?id=$id'> isso siguinifica que você esta passando a var id pelo metodo GET ao fazer isso a pagina excluir.php ficaria da seguinte maneira: $sql = mysql_query("DELETE FROM dados Where id='".$_GET['id]."' LIMIT 1");echo"<h1>A notícia foi excluída com êxito!</h1>";echo "<script type=\"text/javascript\">";echo "alert('A baixa foi dada com sucesso!');";echo "self.location=\"controle.php\"";echo "</script>"; ou $id = $_GET['id'];$sql = "DELETE FROM dados WHERE id='$id'"; Compartilhar este post Link para o post Compartilhar em outros sites
Ygornet 0 Denunciar post Postado Novembro 14, 2006 ueh e eu nao precisaria fazer o select antes de deletar a linha que eu quero do banco? Compartilhar este post Link para o post Compartilhar em outros sites
ZENDMaN 0 Denunciar post Postado Novembro 14, 2006 Não brother, você ja esta passando a ID pelo metodo GET Compartilhar este post Link para o post Compartilhar em outros sites
Ygornet 0 Denunciar post Postado Novembro 14, 2006 Nossa , viajei aki agora , brigado aew MaNResolvido Compartilhar este post Link para o post Compartilhar em outros sites
Tunder 0 Denunciar post Postado Novembro 14, 2006 Nossa , viajei aki agora , brigado aew MaNResolvidoComigo também está acontecendo algo parecido na pagina de edição. ao editar um registro ele edita todos os registros :P Compartilhar este post Link para o post Compartilhar em outros sites
Megadeth 2 Denunciar post Postado Novembro 14, 2006 Thunder, posta se script ai talvez eu possa te ajudar! Compartilhar este post Link para o post Compartilhar em outros sites
Void : 0 Denunciar post Postado Novembro 14, 2006 Isso acontece, pq provavelmente, quase 99,99% de certeza, pq você não esta usando algum filtro na hora de dar o update, ou seja, não existe um WHERE no update Nossa , viajei aki agora , brigado aew MaNResolvidoComigo também está acontecendo algo parecido na pagina de edição. ao editar um registro ele edita todos os registros :P Compartilhar este post Link para o post Compartilhar em outros sites
Tunder 0 Denunciar post Postado Novembro 14, 2006 Thunder, posta se script ai talvez eu possa te ajudar!é o seguinte:<?phpif($_SERVER["REQUEST_METHOD"] == "POST") {$id_cli = $_POST["id_cli"];$nome_cli = $_POST["nome_cli"];$end_cli = $_POST["end_cli"];$cidade_cli = $_POST["cidade_cli"];$uf_cli = $_POST["uf_cli"];$cnpj_cli = $_POST["cnpj_cli"];$obs = $_POST["obs"];include "conecta.php";if(@mysql_query("UPDATE tb_clientes SET id_cli = '$id_cli', nome_cli = '$nome_cli', end_cli = '$end_cli', cidade_cli = '$cidade_cli', uf_cli = '$uf_cli', cnpj_cli = '$cnpj_cli', obs = '$obs'")) { if(mysql_affected_rows() == 1){ echo "Registro atualizado com sucesso"; } } else { echo "Erro nao foi possivel efetuar a edição"; exit; @mysql_close();}?><a href="listar.php">Voltar</a>outro problema, como eu edito um campo textarea? pois naum aprece valor da variavel?criei um campo text para alterar, está certo isso? Compartilhar este post Link para o post Compartilhar em outros sites
Void : 0 Denunciar post Postado Novembro 14, 2006 falei! só não ganho na loto! no UPDATE, falta um WHERE mysql_query("UPDATE tb_clientes SET id_cli = '$id_cli',nome_cli = '$nome_cli',end_cli = '$end_cli',cidade_cli = '$cidade_cli',uf_cli = '$uf_cli',cnpj_cli = '$cnpj_cli',obs = '$obs' WHERE id_cli=". $_POST['id_cli'] ."") Compartilhar este post Link para o post Compartilhar em outros sites
Tunder 0 Denunciar post Postado Novembro 14, 2006 falei!só não ganho na loto!no UPDATE, falta um WHERE mysql_query("UPDATE tb_clientes SET id_cli = '$id_cli',nome_cli = '$nome_cli',end_cli = '$end_cli',cidade_cli = '$cidade_cli',uf_cli = '$uf_cli',cnpj_cli = '$cnpj_cli',obs = '$obs' WHERE id_cli=". $_POST['id_cli'] ."") hahahaha...Valew void, cara continua assim que qualquer hora você acerta na mega - sena sozinho heheheeu nem tinha terminado de postar e você já tinha respondido!!! Compartilhar este post Link para o post Compartilhar em outros sites
calcio 2 Denunciar post Postado Novembro 14, 2006 Outro problema, provavelmente o campo id_cli é chave primária, ele nem devaria estar na string do update. mysql_query("UPDATE tb_clientes SET nome_cli = '$nome_cli',end_cli = '$end_cli',cidade_cli = '$cidade_cli',uf_cli = '$uf_cli',cnpj_cli = '$cnpj_cli',obs = '$obs' WHERE id_cli=". $_POST['id_cli'] ."")repare que tirei o campo id_cli do update Compartilhar este post Link para o post Compartilhar em outros sites
Tunder 0 Denunciar post Postado Novembro 14, 2006 Outro problema, provavelmente o campo id_cli é chave primária, ele nem devaria estar na string do update. mysql_query("UPDATE tb_clientes SET nome_cli = '$nome_cli',end_cli = '$end_cli',cidade_cli = '$cidade_cli',uf_cli = '$uf_cli',cnpj_cli = '$cnpj_cli',obs = '$obs' WHERE id_cli=". $_POST['id_cli'] ."")repare que tirei o campo id_cli do updateBrigadu tbm calcio, vou estar testando em casa pq aqui no trabalho eu naum tenho o banco de dados funfando.depois aviso o qual funcionou Agradeço a todos que ajudaram. Compartilhar este post Link para o post Compartilhar em outros sites