0

Adicionar, Editar e Remover na mesma pagina com Mysql

criado por Sousa VArela em 17/08/2010 6:42am
Olá Pessoal!
Estou fazendo um sistema com php e mysql e queria colocar na mesma pagina os botões adicionar, editar e remover, mas não estou a conseguir. Se o adicionar funciona o editar não e vice versa. Tem como fazer uma função para tal? COMO FAÇO????????????????????

Lista de Respostas:

+1
Resposta Final (Undo)
19/08/2010 2:20pm
(~14 anos atrás)
Marcos Regis respondeu:
Basta usar botões de submit com o mesmo name. Somente o acionado é enviado

<input type="submit" value="Remover" name="acao" />
<input type="submit" value="Editar" name="acao" />
<input type="submit" value="Adicionar" name="acao" />

no PHP recupere assim
$acao = isset($_POST['acao'])?strtolower($_POST['acao']):null;

switch($acao){
case 'remover':
 // Ações de remover
  break;
case 'editar':
  // Ação de editar
  break;
case 'adicionar':
  // Ação de adicionar
  break;
}

+1
17/08/2010 12:56pm
(~14 anos atrás)
Cara
Utilize a URL para determinar qual a ação
Exemplo

http://www.seusite.com.br/exec.php?acao=editar

Aí na página exec.php você coloca uns if e tal...

if($_GET['acao'] == 'add'){
//Código para adicionar aqui...
} else if($_GET['acao'] == 'editar'){
//Código para editar aqui
} else if($_GET['acao'] == 'excluir'){
//Código para excluir aqui...
}

Ou então, ao invés de colocar o código, apenas chame funções que executará a ação desejada

+1
17/08/2010 9:32pm
(~14 anos atrás)
Assim...

if($_GET['acao'] == 'add'){

$resultado = (count($_POST)) ? cadastrar() : formulario(); 

}


+1
18/08/2010 11:08am
(~14 anos atrás)
Ah sim
Agora entendi...
Então
Você fez da forma correta.

action="pagina.php?accao=adicionar"
Basta passar por parametro da URL a ação que você deseja.

+1
19/08/2010 8:56am
(~14 anos atrás)
Não entendi o que você quiz dizer que não consegue passar os dois ao mesmo tempo...
Bem...
Você pode fazer o seguinte...
Você tem este código

if($_GET['acao'] == 'add'){
    $resultado = (count($_POST)) ? cadastrar() : formulario('add'); 
} else if($_GET['acao'] == 'editar'){
    $resultado = (count($_POST)) ? editar() : formulario('editar'); 
}

Observe que no código acima, estou usando o mesmo formulário para cadastrar e para editar.
Pelo menos o ideal é fazer assim.
E observe que passo por parametro da função formulario(), qual é a próxima ação
Então dentro da função formulário, vai ficar assim....

function formulario($acao){
    echo "<form method=\"post\" action=\"pagina.php?acao={$acao}\">
        ...
      </form>";
}

Conseguiu entender???

0
17/08/2010 5:15pm
(~14 anos atrás)
Sousa VArela respondeu:
Obrigado pela dica, mas como chamo as funções no formulario, aonde passo isso para associar a um botão?

Ex:action="pagina.php?accao=adicionar" isso é chamado com o submit e como chamo o editar? O Remover já consegui com uma função em javascript!
Abraços

0
18/08/2010 4:59am
(~14 anos atrás)
Sousa VArela respondeu:
Bom Dia!

Sobre a função já entendi, agora queria saber como coloco esta função para ser chamado no meu botão... (Com ela será chamada no click do usuário?).

isso é a função que apresente a condição e os parâmetros a executar e depois! A duvida é aonde e como coloco isso num botão que quando pressionar ele executa a função.
Obrigado
Abraços

0
19/08/2010 8:29am
(~14 anos atrás)
Sousa Varela respondeu:
Ok!
Faço isso e funciona para o adicionar e para o editar o que eu faço?
como passo o parametro!
para o adicionar passo pelo action. (so consg passar ou o add ou o edit nunca os dois)
para o remover faço com uma função jscript
agora para o editar como faço?
Querem poder ter eles no mesmo formulario!

0
19/08/2010 12:44pm
(~14 anos atrás)
Sousa Varela respondeu:
Vou tentar dessa forma e depois digo algo!
manda o teu msn ou skype para trocar uma ideia.

Obrigado
Abraços

0
19/08/2010 7:48pm
(~14 anos atrás)
Sousa VArela respondeu:
Deu Certo, Muito Obrigado Marcos...
Sem deixar de agradecer ao Carlos que sempre tive disponível para responder.
Obrigado
Abraços

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)