Ir ao conteúdo
  • Cadastre-se
sylvio sena

Editar e excluir registro funcionário php + mysqli

Recommended Posts

Boa noite galera, estou em meio ao desenvolvimento do meu TCC, porém sou iniciante em programação e já tentei de diversas formas incrementar as formas de excluir e editar os cadastros existentes em meu banco, mais não consigo.

 

Alguém pode me ajudar por favor.

 

Obrigado!

 

 

Segue meu código...


 

</div>
                        <!-- TABELA DE RESULTADO  -->
<div class="style35">    
<legend align="center" class="style31">Listar Usuarios</legend>    
<br></br>
<tr><td align='center'>NOME</td><td align='center'>EMAIL</td><td align='center'>LOGIN</td><td align='center'>
SENHA</td><td align='center'>TELEFONE</td><td align='center'>FUNÇÃO</td><td align='center'>PRIORIDADE</td></tr>
<?php
include "../../stringconexao.php";
$result = $conn->query('SELECT * FROM funcionarios ORDER BY nome');
echo"<table border=1>";
if($result){
    while ($row = $result->fetch_assoc()){ 
             
        echo"<tr><td>".$row['nome']."</td><td>".$row['email']."</td><td>".$row['login']."</td><td>".$row['senha']."</td><td>".$row['telefone']."</td><td>".$row['funcao']."</td><td>".$row['prioridade']."</td><td class='style11'><input class='style34' name='submit' type='button' onclick='confirm('Deseja excluir o registro?')' /></td> <td  class='style12'><input onClick='javascript:window.location.href='../gerenciar_usuario/gerenciarusuario.php'' name='submit'  type='button' class='style33'/></td></tr>";
         echo"<tr class='style10'><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>";
        echo"<tr class='style10'><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>"."</td><td>";

     }
    $result->free();
}
$conn->close();
echo"</table>";
?>

 

Eis a tela do código acima, preciso que ao clicar no botão verde eu consigo editar o cadastro e ao clicar no botão vermelho eu consiga excluir o cadastro.


 

Sem título.png

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@sylvio sena É pra já patrão rs.

 

Se esta fazendo o tcc deve ter aprendido CRUD. se não aqui ta a query.

$delete = $conexao->query(DELETE suatabela WHERE id='$id'); // ESSA QUERY DELETA
$UPDATE = $conexao->query(UPDATE tabela SET usuario='$novoUsuario' WHERE id='$id'); // ESSA QUERY FAZ O UPDATE

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma coisa que não foi dita:

Como você está tentando passar a informação para deletar ou editar?

Não vi isso no seu código.

 

Então, para poder editar/apagar algo é preciso enviar por GET o valor ID daquele registro para poder funcionar o que o @FabianoS postou acima.

 

Com isso no TD de sua tabela onde está o botão vermelho e verde deves criar um link que envie por GET o valor.

 

Por exemplo:

<?php
     $id =  $row['id'];
     echo "<td><a href='excluir.php?id=$id'>Excluir</a>"; 
     echo "<td><a href='editar.php?id=$id'>Editar</a>"; 

No lugar da palavra excluir e editar, podes usar uma imagem de um quadrado vermelho e verde.

Podes simplesmente usar o css e preencher com cor aquela célula  e manipular o clique e a chamada do excluir e editar por ajax(jquery) e php

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites
21 horas atrás, dif disse:

Só uma coisa que não foi dita:

Como você está tentando passar a informação para deletar ou editar?

Não vi isso no seu código.

 

Então, para poder editar/apagar algo é preciso enviar por GET o valor ID daquele registro para poder funcionar o que o @FabianoS postou acima.

 

Com isso no TD de sua tabela onde está o botão vermelho e verde deves criar um link que envie por GET o valor.

 

Por exemplo:


<?php
     $id =  $row['id'];
     echo "<td><a href='excluir.php?id=$id'>Excluir</a>"; 
     echo "<td><a href='editar.php?id=$id'>Editar</a>"; 

No lugar da palavra excluir e editar, podes usar uma imagem de um quadrado vermelho e verde.

Podes simplesmente usar o css e preencher com cor aquela célula  e manipular o clique e a chamada do excluir e editar por ajax(jquery) e php

Boa tarde Dif & Fabiano, obrigado pelo feedback, muito agradecido pela atenção e boa vontade de me ajudar,

a dúvida que ficou ainda que com seus esclarecimentos seria de como é que eu conseguiria após apertar o botão editar,

preencher esta tela de edição em cada campo como segue a imagem..

Obrigado novamente.

 

Editar.png

adicionado 1 minuto depois

O código da tela acima, seria este.


 

<form action="gerenciarusuario.php" method="post">
                   <!-- FORMULARIO CADASTRO USUARIO -->
      
       <center><div class="style5" style="width:720px; height:500px">
       <legend align="left">Editar Usuários</legend>
       
       <table cellspacing="3" style="width:500px">
        <tr>
            <td style="width:23px; height:40">
            <label for="nome">Nome</label>
            </td>
                <td align="left">
                <input type='text' name='nome' id='nome' style="width: 430px";></td>
        </tr>
                <tr>
    
                    <td style="width:23px; height:40">
                    <label for="nome">Email</label>
                    </td>
                        <td align="left">
                        <input type='email' name='email' id='email' style="width: 430px"></td>
                </tr>
                        <tr>
    
                            <td style="width:23px; height:40">
                            <label for="nome">Login</label>
                            </td>
                                 <td align="left">
                                 <input type='text' name='login' id='login' style="width: 200px">
                                 </td>
                        </tr>
                                <tr>
    
                                    <td style="width:23px; height:40">
                                    <label for="nome">Senha</label> 
                                    </td>
                                         <td align="left">
                                         <input type='password' name='senha' id='senha'  style="width: 100px">
                                         </td>
                                </tr>
                                
                                                <tr>
                                                <td style="width:23px; height:40">
                                                <label for="nome">Confirmar Senha</label>
                                                </td>
                                                <td align="left">
                                                <input type="password" name="senha" style="width:100px">
                                                </td>
                                
                                                </tr>
                                        <tr>
    
                                                <td style="width:23px; height:40">
                                                <label for="nome">Telefone</label>
                                                </td>
                                                    <td align="left">
                                                    <input type='text' name='telefone' id='telefone' style="width: 230px">
                                                    </td>
                                        </tr>
                                <tr>
    
                                    <td style="width:23px; height:40">
                                    <label for="nome">Funcao</label>
                                    </td>
                                        <td align="left">
                                        <input type='text' name='funcao' id='funcao'  style="width: 200px">
                                        </td>
                                </tr>
                        <tr>
    
                            <td style="width:23px; height:40">
                            <label for="nome">Prioridade</label>
                            </td>                            
                                <td align="left">
                                <select name='prioridade' id='prioridade'>
                                <option value="Baixa">Baixa</option>
                                <option value="Média">Media</option>
                                <option value="Alta">Alta</option>
                                </select>
                                </td>
                        </tr>
                <tr>
    
                    <td style="width:23px; height:40">
                    <label for="nome">Nome Setor</label>
                    </td>
                        <td align="left">
                        <input type='text' name='setor' id='setor' style="width: 150px"></td>
                </tr>
        <tr>
    
            <td style="width:23px; height:43px">
            <label for="nome">Tipo Usuario</label>
            </td>
                <td align="left">
                <select name='tipo' id='tipo' >
                <option value="Normal">Normal</option>
                <option value="Admin">Admin</option>
                </select>
                </td>
        </tr>
    
    </table>
            
                <br></br>
                <br></br>
          <input type="reset" value="Limpar" style="width:10%" class="style2">             
                 <input type="submit" value="Excluir" style="width:10%" class="style13" onclick="confirm('Deseja excluir o cadastro?')">               
                    <input type="submit" value="Salvar" style="width:10%" class="style2" onclick="confirm('Deseja alterar o cadastro ?')">             
    </div>
        </center>
             </form>
<input class="style20" type="text" value="Pesquisar :"><button class="style21" name="Abutton1">Ir</button>
<label class="style19" style="width:215px">Departamento de Tecnologia da Informacao</label>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@sylvio sena Basicamente você repete o mesmo formulário no arquivo editar.php.

Com a diferença que lá você faz uma consulta no banco de dados e insere em cada campo usando o value.

exemplo:

<input type="text" name="nome" value="<?php echo $row['nome']; ?>"/>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia @FabianoS, não tenho conhecimento de (CRUD), porém fiz uma pesquisa sobre o assunto e sei que em resumo seria um pequeno sistema para criação, consulta, atualização e destruição de dados. Minha área de especialização é BI, estou desenvolvendo PHP por desafio mesmo e aprendizado, consegui em meio a pesquisa também este site http://www.montepage.com.br/coisas-legais-para-site/crud-php-mysql-cadastro que ensina passo a passo de como faze-ló, só não estou sabendo agora a questão de como chamar dentro do meu front-end as páginas PHP.

 

Poderia me ajudar por favor?

 

Obrigado!

adicionado 10 minutos depois

@fabiano sei que basicamente para chamar o PHP  teria que usar,

 

<?php

include "pegar_registro.php"

 

?>

 

ou

 

<form action="pegar_registro.php" method="post">

Compartilhar este post


Link para o post
Compartilhar em outros sites

@sylvio sena Olá, não deixei de ver o link.  enfim..o sistema de crud que tem ali é bem avançado, usando a técnica ajax.

sugiro não usar isso, enquanto não aprender a essência do sistema.

Basicamente, um CRUD é composto pelas ações Create, Read, Update e Detele.

 

De uma maneira simples, são as ações que você vai efetuar no sistema. Até aí eu sei que você já entendeu!

O lance agora é entender como funciona.

 

Para cada ação, você vai usar um arquivo php para aquela finalidade.

Por exemplo: inserir algo no banco de dados.  vai ter a parte do formulário que podemos chamar de cadastro.php

Neste arquivo irá conter a estrutura HTML e o formulário. Os dados que estão sendo digitados no formulário você precisa passar para um outro arquivo php que podemos nomear de recebeDados.php.

 

Este arquivo vai receber os dados do formulário. De padrão, quando não especifica o method, os dados são enviados por GET. em formulários assim usa-se POST.  

Para receber os dados em POST.. usa-se a seguinte sintaxe:  $variavel = $_POST["atributo-name-do-campo"]

 

Com os dados, você faz a conexão com o banco de dados e insere eles na tabela.

 

Já a ação de Editar e deletar, é um pouco diferente.

No caso de editar e deletar, primeiro você passa por parâmetro o ID do registro que quer alterar ou apagar. para isso é criado um link onde ele passa por GET este valor ID.

Por exemplo:

<a href='editar.php?id=$id'>Editar</a>

Note que depois de php, tem um id=$id.    Esta variável é responsável por informar ao arquivo editar.php qual ID será editada.

 

Enquanto isso, no arquivo editar.php a primeira coisa que você faz é receber este valor ID com: $id =  $_GET["id"]

Agora que temos o ID do registro, fazemos uma consulta no banco puxando os dados daquele registro usando a clausula WHERE id = $id  no SQL.

 

Posterior, você cria o mesmo formulário do cadastrar.

Com os dados retornados, você insere ele no campo desejado usando o value=" " mencionado no post #05.

Desta forma, no momento que você entrar no link editar.php informado o ID, carregará a página com os dados preenchidos já. 

 

Lembrando que no action deste segundo formulário preenchido para alterar, você coloca um terceiro arquivo php que podemos chamar de atualizaDados.php.  Este arquivo é responsável por receber o novo dado alterado ou receber o mesmo dado dos  que não foram alterados e aí é só usar o comando UPDATE SET.

 

Já no caso do excluir. é um pouco mais simples. Bastando fazer a mesma coisa que o editar.. criar o link excluir.php e passar por parâmetro o ID.

No arquivo excluir.php é recebido por GET novamente o ID e aí você faz um DELETE FROM tabela WHERE id = $id.

Em tese é isso.

Claro que podes melhorar e colocar os testes por exemplo SE executar o SQL de deletar, mostra a frase de exclusão bem sucedida.

 

 A ideia é fazer você entender a essência do sistema, assim que entender, você pode usar o ajax em jQuery e deixar seu CRUD bem mais dinâmico sem "refresh" 

 

Desculpe o texto enorme, mas não podia ser menor.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×