Vous êtes sur la page 1sur 9

09/03/2011

[Resolvido]Problema para excluir regist

iMasters Fruns: [Resolvido] Problema para excluir registro com janela modal - iMasters Fruns
Abril.com Notcias Entretenimento Homem INFO Downloads Reviews Busca Celular Assine Loja Grupo Abril

Ir para o contedo

Portal Agenda Articulistas Multimdia Frum Code iMasters PRO Eventos

Movimente suas ideias Pesquisar Pesquisar Entrar Novo usurio? Cadastre-se agora! Fruns Membros Calendrio Galeria Blogs Este tpico Avanado

Regras

Ver Novo Contedo iMasters Fruns > Programao > PHP Pgina 1 de 1 Novo tpico Responder

[Resolvido] Problema para excluir registro com janela modal


#1 JRRC

Grupo: Membros Posts: 237 Cadastrado: 05-novembro 09 Postou 06 abril 2010 - 13:55 Bom galera meu problema o seguinte, tenho uma pgina de consulta onde ela tem algumas operaes Alterar/Excluir/+Detalhes, onde, quando clico em Excluir uma janela modal ativada para que eu escolha entre Confirmar a Operao ou Cancelar. No entanto, tenho alguns problemas quanto ao ID que ela pega quando clico em Excluir, vez ou outra ele pega o ID corretamente de quem desejo excluir, mais maioria das vezes no pega o ID correto de quem desejo excluir.

imasters.com.br//389999-problema-

1/9

09/03/2011
http://localhost/excluir/?clienteid=2

[Resolvido]Problema para excluir regist

Por exemplo, pelo firebug tenho o seguinte retorno quando clico em "Thiago Reis" onde seu "ID=2"

Ento vocs poderiam me dizer, mais ele est pegando o ID corretamente. Eu diria que voc est certo, mais o problema que ele pega esse ID corretamente apenas pela URL, no input onde digo que para ele tambm pegar esse ID "2", as vezes aparece "1" "3" "4" e as vezes o proprio "2". Ento eu gostaria de quando eu clicasse no "Thiago Reis" onde seu "ID=2" que no input que para mim confirmar a excluso aparecesse "2" tambm todas as vezes que eu clicasse. Nesse link aqui -->> http://www.mediafire.com/?emkl2nvedmu <<-- est o script que estou tentando fazer. Para vocs entenderem melhor o que quero fazer, basta baix-lo (se no for querer abusar da boa vontade de vocs, claro) e d um click em algum, podem observar que na URL do firebug ele passa o ID certinho. Mais quando a DIV se abre, ento peam para exibir o cdigo fonte e observem nas seguintes linhas abaixo como o "ID" do primeiro no o mesmo da URL e nem o "rel" do segundo.

<input type="submit" name="excluir" id="<?php echo $clienteid?>" value="Confirmar" class="submit" /> <div id="campo-pesquisa-operacoes" style="background:<?php echo $bgcolor; ?>;"><a rel="<?php echo $clienteid ?>" name="modal" id="#dialog2" h

Algum poderia me dizer aonde que estou errando ?! Desde de j obrigado pela ajuda de todos. Ir para o topo of the page up there ^

#2

JRRC

Grupo: Membros Posts: 237 Cadastrado: 05-novembro 09 Postou 06 abril 2010 - 20:14 Bom galera houve um grande mau entendido os ID so passados corretamente, eu que no tinha prestado ateno. Bom o meu problema agora, como fazer para o registro excluir assim que eu pressionar "Confirmar" Meu input est da seguinte forma abaixo:
<form id="exclui-cliente" name="exclui-cliente" method="get" action=""> <input type="button" name="close" value="Fechar" class="close"/> <input type="submit" name="excluir" rel="<?php echo $clienteid?>" value="Confirmar" class="submit" /> </form>

Tentei fazer da seguinte forma para excluir o registro quando eu clicasse em "Confirmar" no entanto no deu certo.
//Peguei o valeu do input $('#Confirmar').submit(function(e) { e.preventDefault(); var clienteid = $(this).attr("rel"); $.ajax({ type:"GET", url:"excluir-cliente-bd.php", data:{clienteid:clienteid}, success: function(atual){ $(this).html(atual) } }) })

E o meu arquivo de excluso est assim:


<?php if(basename($_SERVER["PHP_SELF"]) != "excluir-cliente-bd.php" and !empty($_GET) and $_SERVER['HTTP_REFERER']) { $clienteid = $_GET["clienteid"]; $sql = "DELETE FROM cliente WHERE id = '$clienteid'"; $resultado = mysql_query($sql); //echo "<script type = 'text/javascript'> location.href = './index.php?link=8'</script>";

imasters.com.br//389999-problema-

2/9

09/03/2011
} ?>

[Resolvido]Problema para excluir regist

Algum sabe me dizer aonde que estou errando ?! Desde de j obrigado pela ajuda de todos. Ir para o topo of the page up there ^

#3

William Bruno

Desenvolvedor FrontEnd

Grupo: Moderadores Posts: 12560 Cadastrado: 08-janeiro 08 Sexo:Masculino Localizao:So Paulo - SP Postou 06 abril 2010 - 23:06 Faz o seguinte:
success: function(atual){ $('#retorno').html(atual) }

e no form:
<input type="submit" name="excluir" rel="<?php echo $clienteid?>" value="Confirmar" class="submit" /> <div id="retorno"></div> </form>

excluir-cliente-bd.php
<?php if( !empty($_GET["clienteid"]) ) { $clienteid = $_GET["clienteid"]; $sql = "DELETE FROM cliente WHERE id = '$clienteid'"; $query = mysql_query($sql)or die( mysql_error() ); echo ( $query ) ? 'Excluido com sucesso' : 'Ocorreu um erro'; } ?>

Ir para o topo of the page up there ^

#4

JRRC

Grupo: Membros Posts: 237 Cadastrado: 05-novembro 09 Postou 07 abril 2010 - 07:21 Bom dia William Bruno, Fiz da forma que voc disse, e est dando o seguinte ERRO abaixo
Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/excluir/

Dei uma verificada no arquivo de excluso e no vi nada de ERRADO, apesar de ter algo, deixei ele da seguinte forma abaixo:

imasters.com.br//389999-problema-

3/9

09/03/2011

[Resolvido]Problema para excluir regist

<?php if( !empty($_GET["clienteid"]) ) { $sql = "DELETE FROM cliente WHERE id = '$clienteid'"; $query = mysql_query($sql) or die( mysql_error() ); if( $query ) { echo 'Excluido com sucesso'; } } ?>

O erro est dando nessa linha aqui $query = mysql_query($sql) or die( mysql_error() ); Uma outra coisa estranha que est aparecendo por exemplo, quando eu clico em um cliente par excluir no firebug me aparece o seu verdadeiro ID e quando clico em confirmar me aparece apenas o primeiro ID, independente de quem eu clique. Por exemplo quando clico em excluir me aparecesse o seguinte no firebug
http://localhost/excluir/?clienteid=2

E quando abre a janela modal e clico em confirmar me aparecesse o seguinte abaixo


http://localhost/excluir/excluir-cliente-bd.php?clienteid=1

Como voc pode ver, o primeiro ID que passado na URL e no o seu ID que no exemplo seria "2". Meu cdigo em Jquery dei uma modificada, ele est da seguinte forma abaixo agora
$('#Confirmar').click(function(e) { e.preventDefault(); $('form[name=exclui-cliente]').submit(function(e){ e.preventDefault(); var clienteid = $('a[name=modal]').attr("rel"); $.ajax({ type:"GET", url:"excluir-cliente-bd.php", data:{clienteid:clienteid}, success: function(atual){ $('#retorno').html(atual) } }) return false; }); });

Nessa parte aqui do codigo var clienteid = $('a[name=modal]').attr("rel"); tento passar o ID do <a ...></a>, mais infelizmente no deu certo. E meu formulrio est assim:
<form id="exclui-cliente" name="exclui-cliente" method="get" action=""> <input type="button" name="close" value="Fechar" class="close"/> <input type="submit" name="Confirmar" id="Confirmar" rel="" value="Confirmar" class="submit" /> <div id="retorno"></div> </form>

Nesse link aqui -->> http://www.mediafire.com/?m2y1uhcji5z <<-- esto os arquivos para download, caso d para voc baixar e conferir ficaria muito grato. T mais e tenha uma boa quarta. Obs: Antes mesmo dessa alterao no cdigo Jquery o erro de passar o ID quando eu clicava em confirmar j existia. Ir para o topo of the page up there ^

#5

William Bruno

Desenvolvedor FrontEnd

Grupo: Moderadores Posts: 12560 Cadastrado: 08-janeiro 08 Sexo:Masculino Localizao:So Paulo - SP Postou 07 abril 2010 - 07:32

imasters.com.br//389999-problema-

4/9

09/03/2011

[Resolvido]Problema para excluir regist

Bom Dia @JRRC ! cara, vamos ser 'pragmticos'. Uma coisa de cada vez.. arrume a conexo com o banco de dados. o or die() fez aparecer o erro, do banco de dados. Voc no est conectando corretamente ao banco !!! arrume isso !

JRRC, em 07 abril 2010 - 07:21 , disse: Bom dia William Bruno, Fiz da forma que voc disse, e est dando o seguinte ERRO abaixo
Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/excluir/

Qnto ao outro erro, voc tem vrios formulrios nessa pgina? No duplique IDs !!! isso um erro absurdo de HTML ! id deve ser um identificador nico no documento. E cara, desculpe.. mas no vou baixar os teus arquivos e arrum-los no. Isso vai um pouco alm do 'ajudar'. Se precisar de suporte particular, sugiro contratar um profissional: Ofertas para Freelancers Ir para o topo of the page up there ^

#6

JRRC

Grupo: Membros Posts: 237 Cadastrado: 05-novembro 09 Postou 08 abril 2010 - 19:11 Boa noite William Bruno, Bom para comear o problema no estava no arquivo de conexo e sim no prprio arquivo de excluso pois no estava chamando o arquivo de conexo dentro do mesmo. E tambm no HAVIA e no H nenhum ID duplicado em meu cdigo, alm de algumas DIV que so necessria a sua repetio. Vamos ao que interessa, quanto ao erro que dava foi resolvido deixando meu arquivo de excluir da seguinte maneira abaixo.
<?php require_once "./conexao.php"; $clienteid = $_POST["clienteid"]; $sql = "DELETE FROM cliente WHERE id = '$clienteid'"; $query = mysql_query($sql) or die( mysql_error() ); if( $query ) { echo ?> 'Excluido com sucesso'; }

E tambm ja estou excluindo perfeitamente quando clico em "Confirmar" na janela modal. O meu nico problema que eu gostaria que quando eu clicasse em "Confirmar" a janela modal, desaparecesse igual quando clico em "Cancelar". Meu cdigo atualmente est da seguinte maneira abaixo:
var clienteid_global = 0; $(document).ready(function() { $('a[name=modal]').click(function(e) { e.preventDefault(); var id = $(this).attr('id'); clienteid_global = $(this).attr("rel"); var maskHeight = $(document).height(); var maskWidth = $(window).width(); $('#mask').css({'width':maskWidth,'height':maskHeight}); $('#mask').fadeIn(1000); $('#mask').fadeTo("slow",0.8); //Get the window height and width

imasters.com.br//389999-problema-

5/9

09/03/2011

[Resolvido]Problema para excluir regist


var winH = $(window).height(); var winW = $(window).width(); $(id).css('top', winH/2-$(id).height()/2); $(id).css('left', winW/2-$(id).width()/2); $(id).fadeIn(2000);

}); $('.window .close').click(function (e) { e.preventDefault(); $('#mask').hide(); $('.window').hide(); }); $('#mask').click(function () { $(this).hide(); $('.window').hide(); }); $('#btn_confirma').click(function() { $('form#exclui-cliente').submit(function(){ var cliente_id = clienteid_global; $.ajax({ type:"POST", url:"excluir-cliente-bd.php", data:{clienteid:cliente_id}, success: function(atual){ $('#retorno').html(atual) } }) return false; }); }); });

E por ltimo meu form se encontra da seguinte maneira abaixo


<div id="boxes"> <!-- Janela Modal com Bloco de Nota --> <div id="dialog2" class="window"> Excluir Registro.<br /><br /> <b>Voce</b>, deseja excluir este cliente ?<br /> <?php //echo $clienteid; ?> <br /><br /><br /> <?php //require_once "excluir-cliente-bd.php";?> <form id="exclui-cliente" name="exclui-cliente" method="post" action=""> <input type="button" name="close" value="Cancelar" class="close"/> <input type="submit" name="Excluir" id="btn_confirma" rel="<?php echo $clienteid?>" value="Confirmar" class="submit" <div id="retorno"></div> </form> </div> <!-- Fim Janela Modal com Bloco de Nota --> <!-- Mscara para cobrir a tela --> <div id="mask"></div> </div>

Desde de j obrigado pela ajuda de todos, t mais. Ir para o topo of the page up there ^

#7

JRRC

Grupo: Membros Posts: 237 Cadastrado: 05-novembro 09 Postou 08 abril 2010 - 19:41 Um pequeno detalhes que esqueci de citar , se eu deixar "return true;" a janela modal desaparece e d um refresh na pgina, que no a forma que eu deseje que fique. Outro detalhes que esqueci de dizer, que da forma que se encontra meu cdigo, quando clico em "Confirmar" (que para excluir), a janela modal continua e atravs de sua transparncia d pra ver pra tambm o nome da pessoa ainda que mandei excluir, ou seja, s desaparece quando mando atualizar (F5). Resumindo, eu gostaria que quando clicasse em "Confirmar" a janela modal desaparecesse juntamente com a pessoa que mandei "Excluir" sem d um refresh n pagina. Algum sabe me dizer o que devo fazer para resolver esse meu problema ?! Desde de j obrigado pela ajuda de todos, t mais.

imasters.com.br//389999-problema-

6/9

09/03/2011
Ir para o topo of the page up there ^

[Resolvido]Problema para excluir regist

#8

JRRC

Grupo: Membros Posts: 237 Cadastrado: 05-novembro 09 Postou 09 abril 2010 - 17:27 Bom pessoal problema resolvido, vou postar abaixo os codigos para que caso algum no futuro deseje fazer o mesmo, tenha algo a mais em que se basear. Consulta + Form + Janela Modal + DIV que visualizo os cliente cadastrados
$sql = "SELECT * FROM cliente"; for ($linha=0; $linha < mysql_num_rows($dados); $linha++) { $clienteid = mysql_result($dados, $linha, id); $nome = mysql_result($dados, $linha, nome); if (isset($bgcolor) && $bgcolor == "#F0F0F0") { $bgcolor = "#F9F9F9";} else { $bgcolor = "#F0F0F0"; } ?> <div id="boxes"> <!-- Janela Modal com Bloco de Nota --> <div id="dialog2" class="window"> Excluir Registro.<br /><br /> <b>Voce</b>, deseja excluir este cliente ?<br /> <?php //echo $clienteid; ?> <br /><br /><br /> <?php //require_once "excluir-cliente-bd.php";?> <form id="exclui-cliente" name="exclui-cliente" method="post" action=""> <input type="button" name="close" value="Cancelar" class="close"/> <input type="submit" name="Excluir" id="btn_confirma" rel="<?php echo $clienteid?>" value="Confirmar" </form> </div> <!-- Fim Janela Modal com Bloco de Nota --> <!-- Mscara para cobrir a tela --> <div id="mask"></div> </div> <div id="campo-pesquisa-no-border" class="load-<?php echo $clienteid; ?>"> <div id="campo-pesquisa-dados" style="background:<?php echo $bgcolor; ?>;"><?php echo $nome; ?></div> <div id="campo-pesquisa-dados" style="background:<?php echo $bgcolor; ?>;"><?php echo mysql_result ($dados, $linha, endereco <div id="campo-pesquisa-dados" style="background:<?php echo $bgcolor; ?>;"><?php echo mysql_result ($dados, $linha, cpf <div id="campo-pesquisa-sexo" style="background:<?php echo $bgcolor; ?>;"><?php echo mysql_result ($dados, $linha, sexo <div id="campo-pesquisa-operacoes" style="background:<?php echo $bgcolor; ?>;"><a href ="<?php echo "index.php?link=7& </div> <div id="campo-pesquisa-operacoes" style="background:<?php echo $bgcolor; ?>;"><a rel="<?php echo $clienteid ?>" name= </div> <div id="campo-pesquisa-operacoes" style="background:<?php echo $bgcolor; ?>;"><a href ="<?php echo "index.php?link=9& </div> </div> <?php }?>

E por ltimo o codigo em Jquery


var clienteid_global = 0; $(document).ready(function() { //seleciona os elementos a com atributo name="modal" $('a[name=modal]').click(function(e) { //cancela o comportamento padro do link e.preventDefault(); //armazena o atributo href do link var id = $(this).attr('id'); //armazena o id do cliente clicado clienteid_global = $(this).attr("rel"); //armazena a largura e a altura da tela var maskHeight = $(document).height(); var maskWidth = $(window).width(); //Define largura e altura do div#mask iguais as dimenses da tela $('#mask').css({'width':maskWidth,'height':maskHeight}); //efeito de transio $('#mask').fadeIn(1000); $('#mask').fadeTo("slow",0.8); //armazena a largura e a altura da janela var winH = $(window).height(); var winW = $(window).width(); //centraliza na tela a janela popup $(id).css('top', winH/2-$(id).height()/2); $(id).css('left', winW/2-$(id).width()/2);

imasters.com.br//389999-problema-

7/9

09/03/2011
$(id).fadeIn(2000); });

[Resolvido]Problema para excluir regist

//se o boto fechar for clicado $('.window .close').click(function (e) { //cancela o comportamento padro do link e.preventDefault(); $('#mask').hide(); $('.window').hide(); }); //se div#mask for clicado $('#mask').click(function () { $(this).hide(); $('.window').hide(); }); //se o boto 'Confirmar' for clicado ento d o submit no form $('#btn_confirma').click(function() { $('form#exclui-cliente').submit(function(){ var cliente_id = clienteid_global; $.ajax({ type:"POST", url:"excluir-cliente-bd.php", data:{clienteid:cliente_id}, success: function(atual){ $('#retorno').html(atual); $('.load-'+cliente_id).remove(); $('#mask').hide(); }) return false; }); }); });

Ir para o topo of the page up there ^


Curtir Cadastre-se para ver do que seus amigos gostam.

|-- PHP

Tpico anterior PHP Prximo tpico

Compartilhar este tpico:

Pgina 1 de 1 Novo tpico Responder

1 usurio(s) est(o) lendo este tpico 0 membro(s), 1 visitante(s) e 0 membros annimo(s)


Voltar para o topo Home do Frum Apagar meus cookies Marcar frum como lido Sobre o iMasters Poltica de privacidade Anuncie Fale conosco Feeds Twitter E-mail

imasters.com.br//389999-problema-

8/9

09/03/2011
2001 iMasters FFPA Informtica Ltda Todos os direitos reservados. Community Forum Software by IP.Board Licenciado para:iMasters FFPA Informtica Ltda

[Resolvido]Problema para excluir regist

Skin e idioma
Tema Novo iMasters Idioma: Portugus (Brasil)

imasters.com.br//389999-problema-

9/9

Vous aimerez peut-être aussi