Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida com uso da sintaxe


LucasSouza

Pergunta

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 para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Sério amigo, li e reli três vezes e não consegui entender o objetivo do possível "if" ali no exlcuir.php

Por 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.

Link para o comentário
Compartilhar em outros sites

  • 0
Sério amigo, li e reli três vezes e não consegui entender o objetivo do possível "if" ali no exlcuir.php

Por 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 verifica

Voce quer excluir funcionario? então faca isto

Senao se voce excluir usuario? então faca aquilo

Senao se voce quer excluir livro? então faca isto.

não sei se deu pra entender novamente . qualquer coisa desculpas

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0
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

Link para o comentário
Compartilhar em outros sites

  • 0

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.php

if($_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.

Editado por eudeoliveira
Link para o comentário
Compartilhar em outros sites

  • 0
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

eudeoliveira, 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 colaboraram

e so mais uma pergunta , como funciona o request?

Link para o comentário
Compartilhar em outros sites

  • 0

MTavares, na verdade é ao contrário :P

Quem 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

Editado por Stoma
Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim... na verdade eu quis dizer que para pegar dados passados pelo querystring. Ex:

excluir.php?acao=ExcluirUsuario&cpffunc=$cpffunc

Se 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

Editado por MTavares
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...