Ir ao conteúdo

PHP Update em mysql com php


Ir à solução Resolvido por DiF,

Posts recomendados

Postado

Bom, estou tentando alterar certos dados específicos da tabela mas não estou obtendo sucesso.

Codigo do formulario:

<form method="post" enctype="multipart/form-data" class="form-horizontal" id="meu">
                                        <div class="row form-group">
                                            <div class="col col-md-3">
                                            <label class=" form-control-label">ID</label>
                                        </div>
                                        <div class="col-12 col-md-5">
                                            <p class="form-control-static">#<?echo $id?></p>
                                        </div>
                                    </div>
                                          <div class="row form-group">
                                              <div class="col col-md-3">
                                              <label class=" form-control-label">Telefone</label>
                                          </div>
                                          <div class="col-12 col-md-5">
                                              <p class="form-control-static"><?=$linha['telefone']?></p>
                                          </div>
                                      </div>
                                        <div class="row form-group">
                                          <div class="col col-md-3">
                                              <label for="disabled-input" class=" form-control-label">Digite o novo:</label>
                                          </div>
                                          <div class="col-12 col-md-5">
                                              <input class="form-control" type="text" required="required" minlength="13" maxlength="13" OnKeyPress="formatar('## #####-####', this)"  name="tel" placeholder="Digite aqui...">
                                          </div><br /><br />
                                          <!--Botão-->
                                        <div class="card-footer">
                                        <button name="update" type="submit" class="btn btn-primary btn-sm" >
                                            <i class="fa fa-dot-circle-o"></i> Alterar
                                        </button>
                                        <button type="reset" class="btn btn-danger btn-sm">
                                            <i class="fa fa-ban"></i> Limpar
                                        </button>
                                    </div>
                                  </form>

 

Codigo do update: 

        <?php
                                    if(isset($_POST['update'])){
                                        $tel  = $_POST["tel"];


                                        $atualizar = mysqli_query($con, "UPDATE registo SET telefone='$tel' WHERE id=$id");


                                        if($atualizar):

                                            echo '<div class="alert alert-success">
                                                  <strong>Sucesso!</strong> Telefone alterado com sucesso!.
                                                </div>';
                                        else:

                                            echo '<div class="alert alert-danger">
                                                  <strong>Opa!</strong> Tivemos um problema, contate o administrador!.
                                                </div>';
                                        endif;

                                        mysqli_close($con);
                                    }
                                    ?>

Obs: anteriormente eu ja tinha colocado o include "conexao.php"; com o variavel $con.

 

Na verdade acredito que o problema esta no WHERE= $id. Não sei se posso salvar como uma variavel, alguma dica? Porque na verdade ele esta retornando o else.

 

Atenciosamente,

  • Moderador
  • Solução
Postado

@GleysonFio Como você esta passando o valor id do registro que vai alterar?

 

Basicamente você tem que enviar ao código de edição o valor... e para isso geralmente é usado um link com passagem por parâmetro. Dito isso, você deve receber o ID pelo GET. 

 

Exemplo:

 

//Busca primeiro os ids dos produtos
$search = mysqli_query($conn, "SELECT nome, valor, id FROM produto");

while($produto = mysqli_fetch_object($search)):
   echo "<tr>
           <td>$produto->nome</td>
           <td>$produto->valor</td>
           <td><a href='editar.php?id=$produto->id'>Editar</a></td>
           <td><a href='apagar.php?id=$produto->id'>Apagar</a></td>
        <tr/>";
endwhile;

Então no arquivo editar.php, você recebe o valor ID como:

$id = $_GET["id"];

Mas se for por exemplo uma edição de um cadastro, onde o usuário está logado, então naturalmente a ideia é colocar este valor ID na sessão.

 

exemplo:


 

<?php
   session_start();

   $id = $_SESSION["id_usuario"];
   include 'conexao.php';
   
   //Recebe dos dados do formulário
   $tel = $_POST["telefone"];
 
   $atualiza = mysqli_query($conn, "UPDATE usuario SET telefone='$tel' WHERE id='$id'");
 
   if($atualiza):
       echo "Foi!!";

   else:
       echo "Deu erro"; 
   endif;

O interessante, é você colocar o ID do usuário na sessão no momento da autenticação(login e senha)

Se fizer uma busca sobre sistema de login aqui vai encontrar diversos tópicos na qual eu postei um exemplo de como fazer isso.

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!