LucasSouza Posted November 15, 2011 Report Share Posted November 15, 2011 Seguinte, eu quero excluir do meu banco de dados uma linha da tabela, ai eu fiz o seguinte.tenho no arquivo listar.php que lista todas minhas 4 tabelas (emprestimo, funcionario, usuario, livro). E a seguinte tag:<td><a href=\"edicaofunc.php?cpffunc=$cpffunc\">[Editar]</a> | <a href=\"excluir.php?cpffunc=$cpffunc\">[Excluir]</a></td>exclui determinada linha.o botao excluir vai direcionar para excluir.php e ae vem minha duvida, eu queria fazer o seguinte :quando apertasse o excluir de funcionario entrasse no arquivo excluir.php e ele fizesse a escolhaSe for excluir usuario faca delete from blablablasenao se for excluir livro faca delete from blablablaassim por diante, espero que tenham entendido, obrigaodo pela atencao de todos e pela colaboracao. não tenho c cedilha kkke desculpas caso não deu para entender Quote Link to comment Share on other sites More sharing options...
0 fertel Posted November 15, 2011 Report Share Posted November 15, 2011 Sério amigo, li e reli três vezes e não consegui entender o objetivo do possível "if" ali no exlcuir.phpPor que seu sistema deve optar por excluir de uma tabela ou outra exatamente? Tente dar um exemplo mais prático com situações reais pra gente entender melhor. Quote Link to comment Share on other sites More sharing options...
0 LucasSouza Posted November 15, 2011 Author Report Share Posted November 15, 2011 Sério amigo, li e reli três vezes e não consegui entender o objetivo do possível "if" ali no exlcuir.phpPor que seu sistema deve optar por excluir de uma tabela ou outra exatamente? Tente dar um exemplo mais prático com situações reais pra gente entender melhor.Ok, desculpe por não ter entendido.Vamos la.Primeiro vou explicar o sistema, é uma biblioteca em que um usuario faz emprestimo com algum funcionario e ele pega um livro ou mais.beleza, agora vamos la, tenho a listar.php. que faz a listagem das tres tabelas.Neste arquivo eu faco o procedimento de selecionar todas as colunas armazenar emum array imprimir. Na parte de imprenssao eu decidi fazer assim:<tr> <td>$cpffunc</td> <td>$nomefunc</td> <td>$enderecofunc</td> <td>$telefonefunc</td> <td>$emailfunc</td> <td>$idAcesso</td> <td>$setor</td> <td><a href=\"edicaofunc.php?cpffunc=$cpffunc\">[Editar]</a> | <a href=\"excluir.php?cpffunc=$cpffunc\">[Excluir]</a></td></tr>Este é o exemplo com a tabela de funcionarios. Ele vai imprimir cpf, nome, endereco e etc. E imprimi dois o botoes o de Editar e o de Excluir. O foco é no de excluir.Ai ali eu faco um link para o arquivo excluir.php. Ai neste excluir.php eu tenho o seguinte$cpffunc = $_GET["cpffunc"];mysql_query("DELETE FROM funcionario where cpffunc = $cpffunc");que seria para excluir funcionario. So que eu quero colocar no meu arquivo excluir.php todas as opcoes de exclusao. pra excluir funcionario usuario e livro.Ai assim que eu apertar o botao excluir ele envia para excluir os dados e verificaVoce quer excluir funcionario? então faca istoSenao se voce excluir usuario? então faca aquiloSenao se voce quer excluir livro? então faca isto.não sei se deu pra entender novamente . qualquer coisa desculpas Quote Link to comment Share on other sites More sharing options...
0 fertel Posted November 15, 2011 Report Share Posted November 15, 2011 Ok, estamos quase lá...Entendi que você cria uma lista de resultados com os funcionários cadastrados, lá tem um link para excluir (o funcionário) por CPF. Até aqui tudo ok, nehum mistério. Agora vem minha dúvida: Que relação tem funcionário com usuários e livros? Se são tabelas diferentes, não seria interessante botar mais um link ali na lista para abrir todos os livros daquele funcionário e depois escolher qual livro quer excluir?Ou, você teria que criar um formulário no excluir.php que pegasse o funcionário pelo cpf, exibisse os dados apenas deste funcionário e neste formulário exibir as opções de exclusão, se é apenas livros, usuários, etc. (isso pode ser radio button ou lista) E finalmente um botão no final do formulário para prosseguir com a exclusão. Quote Link to comment Share on other sites More sharing options...
0 LucasSouza Posted November 15, 2011 Author Report Share Posted November 15, 2011 Ok, estamos quase lá...Entendi que você cria uma lista de resultados com os funcionários cadastrados, lá tem um link para excluir (o funcionário) por CPF. Até aqui tudo ok, nehum mistério. Agora vem minha dúvida: Que relação tem funcionário com usuários e livros? Se são tabelas diferentes, não seria interessante botar mais um link ali na lista para abrir todos os livros daquele funcionário e depois escolher qual livro quer excluir?Ou, você teria que criar um formulário no excluir.php que pegasse o funcionário pelo cpf, exibisse os dados apenas deste funcionário e neste formulário exibir as opções de exclusão, se é apenas livros, usuários, etc. (isso pode ser radio button ou lista) E finalmente um botão no final do formulário para prosseguir com a exclusão.Estamos quase la, é mais ou menos o que voce escreveu no segundo paragrafo que eu quero. No arquivo excluir.php ele já estara com todos os excluir so que eu não posso colocar sem nenhuma condicao senao ele vai falar que eu não declarei a variavel , desta forma:$cpffunc = $_GET["cpffunc"];mysql_query("DELETE FROM funcionario where cpffunc = $cpffunc");$codISBN = $_GET["codISBN"];mysql_query("DELETE FROM livro where codISBN = $codISBN");$cpfus = $_GET["cpfus"];mysql_query("DELETE FROM usuario where cpfus = $cpfus");se eu clicar no botao excluir la em lista.php no botao de livro por exemplo, ele vai entrar no excluir.php e não vai encontrar nenhuma condicao e vai falar que eu n declarei nem cpffuc nem cpfus, entende? ai eu qeuria selecionar onde ele vai entrar que no caso seria codISBN e excluir isto Quote Link to comment Share on other sites More sharing options...
0 eudeoliveira Posted November 15, 2011 Report Share Posted November 15, 2011 (edited) Boa tarde LucasSouza,Bom ve se isso ajuda, pelo que entendi acredito que vai precisar de que sua pagina excluir.php receba a ação que vai executar, porem para que isso funcione vai precisar mudar a chamada dele quando cria o link [Excluir] ex:para excluir funcionario:<a href=\"excluir.php?acao=ExcluirFunc&cpffunc=$cpffunc\">[Excluir]</a>para excluir livro:<a href=\"excluir.php?acao=Excluirlivro&cpffunc=$cpffunc\">[Excluir]</a>para excluir usuario:<a href=\"excluir.php?acao=ExcluirUsuario&cpffunc=$cpffunc\">[Excluir]</a>quando a página excluir.php for chamada passando esse parâmetro acao junto com o respectivo parâmetro ($cpffunc,$codISBN,$cpfus), as variaveis que vão precisar existir vai depender do seu link [Excluir].Segue abaixo pagina excluir.phpif($_GET[acao] == "ExcluirFunc"){ $cpffunc = $_GET["cpffunc"]; mysql_query("DELETE FROM funcionario where cpffunc = $cpffunc"); }elseif($_GET[acao] == "ExcluirLivro"){ $codISBN = $_GET["codISBN"]; mysql_query("DELETE FROM livro where codISBN = $codISBN"); }elseif($_GET[acao] == "ExcluirUsuario"){ $cpfus = $_GET["cpfus"]; mysql_query("DELETE FROM usuario where cpfus = $cpfus"); }Espero ter entendido sua pergunta e ter ajudado. Edited November 15, 2011 by eudeoliveira Quote Link to comment Share on other sites More sharing options...
0 MTavares Posted November 15, 2011 Report Share Posted November 15, 2011 Só pra ressaltar, se não me engano, caso o REGISTER_GLOBALS esteja como off, para resgatar os valores da passagem de parâmetros via browser é o $_REQUEST[] e não $_GET[]abs Quote Link to comment Share on other sites More sharing options...
0 LucasSouza Posted November 15, 2011 Author Report Share Posted November 15, 2011 Só pra ressaltar, se não me engano, caso o REGISTER_GLOBALS esteja como off, para resgatar os valores da passagem de parâmetros via browser é o $_REQUEST[] e não $_GET[]abseudeoliveira, sim meu caro voce entendeu perfeitamente am inha duvida, so não deu certo porque precisou do request como o eudeoliveira disse,obrigado a todos que colaborarame so mais uma pergunta , como funciona o request? Quote Link to comment Share on other sites More sharing options...
0 Stoma Posted November 16, 2011 Report Share Posted November 16, 2011 (edited) MTavares, na verdade é ao contrário :PQuem depende do register_globals estar habilitado é o $_REQUEST. Se ele estiver desabilitado, somente funcionará o $_GET, $_POST e $_COOKIE.e so mais uma pergunta , como funciona o request?A variável $_REQUEST contém todas as variáveis/parâmetros que existem na variável $_GET (essa contém os parâmetros passados na URL), da variável $_POST (essa contém os parâmetros enviado via post, como por ex. um formulário) e também da variável $_COOKIE (informações de cookie). Mas utilizando a $_REQUEST você pode ter alguns problemas: os dados podem ser sobrescrevidos, as informações contidas nessa variável nem sempre serão confiáveis (pois o usuário pode alterá-las), você não sabe de onde está vindo a informação e outros "problemas".E também a variável $_REQUEST depende de configuração do servidor (ela tem que estar habilitada no servidor), sendo que nem todos servidores tem essa opção habilitada e se não me engano, os mais atuais já vem com ela desabilitada.Por isso, utilize o $_GET/$_POST/$_COOKIE quando for necessário.Abraço Edited November 17, 2011 by Stoma Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted November 16, 2011 Report Share Posted November 16, 2011 Concordo. Não utilize $_REQUEST. Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted November 16, 2011 Report Share Posted November 16, 2011 Quem depende do register_globals estar habilitado é o $_REQUEST. Se ele estiver desabilitado, somente funcionará o $_GET, $_POST e $_COOKIE.$_REQUEST não depende de register_globals para nada... Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted November 16, 2011 Report Share Posted November 16, 2011 Não gosto do $_REQUEST porque ele dificulta na manutenção de um script médio/grande já que você não sabe (a primeira vista) de onde os dados estão vindo. Essa mistura de dados diferentes me incomoda.Realmente register_globals não parece ter relação: Usando a diretiva Register Globals e $_REQUEST.Um abraço. Quote Link to comment Share on other sites More sharing options...
0 Stoma Posted November 17, 2011 Report Share Posted November 17, 2011 Opa! Falha minha :oO pessoal aí tem razão... o register_global não tem relação com $_REQUEST... me confundi também hahaMe desculpe e esqueça a parte onde eu falei sobre o register_global, ok?Até+ Quote Link to comment Share on other sites More sharing options...
0 MTavares Posted November 17, 2011 Report Share Posted November 17, 2011 (edited) Sim... na verdade eu quis dizer que para pegar dados passados pelo querystring. Ex:excluir.php?acao=ExcluirUsuario&cpffunc=$cpffuncSe o Register_Globals estiver "off" uma das maneiras de pegar o valor é usar $_REQUEST["acao"] ou GET["acao"]. Desculpem, realmente me expressei mal no meu comentário anterior (mente cansada), era para ter escrito:Só pra ressaltar, se não me engano, caso o REGISTER_GLOBALS esteja como off, para resgatar os valores da passagem de parâmetros via browser é o $_REQUEST[]e $_GET[]No caso de um formulário, aí sim, continue usando o POST. Eu me referi ao $_REQUEST como uma outra opção além do GET, já que ele está pegando como GET, não seria necessariamente como uma regra. Em relação a $_REQUEST ser problemática, interessante, sinceramente eu não sabia desse detalhe.abs Edited November 17, 2011 by MTavares Quote Link to comment Share on other sites More sharing options...
Question
LucasSouza
Seguinte, eu quero excluir do meu banco de dados uma linha da tabela, ai eu fiz o seguinte.
tenho no arquivo listar.php que lista todas minhas 4 tabelas (emprestimo, funcionario, usuario, livro). E a seguinte tag:
<td><a href=\"edicaofunc.php?cpffunc=$cpffunc\">[Editar]</a> | <a href=\"excluir.php?cpffunc=$cpffunc\">[Excluir]</a></td>
exclui determinada linha.
o botao excluir vai direcionar para excluir.php e ae vem minha duvida, eu queria fazer o seguinte :
quando apertasse o excluir de funcionario entrasse no arquivo excluir.php e ele fizesse a escolha
Se for excluir usuario faca
delete from blablabla
senao se for excluir livro faca
delete from blablabla
assim por diante, espero que tenham entendido, obrigaodo pela atencao de todos e pela colaboracao. não tenho c cedilha kkk
e desculpas caso não deu para entender
Link to comment
Share on other sites
13 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.