Ir para conteúdo
Israel Lira

PHP select and update

Recommended Posts

Fiz uma alteração na coluna salario do postgres para character varying.

Agora, consigo atualizar a coluna descricao, mas a coluna salario faz é desaparecer a informação que tinha.

 

Exemplo: 

Tinha a informação                         codigo    descricao                                  salario

no banco de dados:                               36      RECURSOS HUMANOS          1.200,00

 

Teste de validação: Atualizando a descricao e salario seria por exemplo descricao = 'PROFESSOR' e salario = '1.500,00'

  Ex.:                               

                                      codigo    descricao               salário

                                             36     PROFESSOR                        

 

Segue os códigos:

 

CARGOSEDITAR.php

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title> Editar cargo </title>
    <link rel="stylesheet" type="text/css" media="screen" />
    <script src="js/jquery-3.4.0.min.js" type="text/javascript"></script>
    <script src="js/jquery.mask.min.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(document).ready(function(){
            $("#salario").mask("0.000,00");
        })    
    </script>
</head>
<?php
if(!empty($_GET['codigo'])){
    /**
    Conecta com o PostgreSQL
    */
    $dns = "port=55432 dbname=folha user=fortesrh password=1234";
    $db = pg_connect($dns);
    $codigo = (int) $_GET['codigo'];
    $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'");    
    $row = pg_fetch_assoc($resultado);
    $codigo = $row['codigo'];
    $descricao = $row['descricao'];
    $salario = $row['salario'];
} else $codigo = $descricao = $salario = null;
?>
<body>
    <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST">
        <label>Código: </label>
        <input name="codigo" type="text" style="width: 30%" value="<?=$codigo?>"><br>      
        <label>Descrição: </label>
        <input name="descricao" type="text" style="width: 50%" value="<?=$descricao?>"><br>
        <label>Salário: </label>
        <input name="salario" type="text" style="width: 25%" value="<?=$salario?>"><br>
        <input type="submit">
    </form>

    <form action="http://localhost/FOLHADEPAGAMENTO/CARGOSCADASTRADOS.php" method="POST">
        <p>
          <input type="submit" id="btn" value="Voltar" />
        </p>
    </form>

    </body>
</html>

21 horas atrás, paulpolidoro disse:

A coluna salário é float? E qual valor está vindo na variável $salario?

Fiz uma alteração na coluna salario do postgres para character varying.

Agora, consigo atualizar a coluna descricao, mas a coluna salario faz é desaparecer a informação que tinha.

 

Exemplo: 

Tinha a informação                         codigo    descricao                                  salario

no banco de dados:                               36      RECURSOS HUMANOS          1.200,00

 

Teste de validação: Atualizando a descricao e salario seria por exemplo descricao = 'PROFESSOR' e salario = '1.500,00'

  Ex.:                               

                                      codigo    descricao               salário

                                             36     PROFESSOR                        

 

Segue os códigos:

 

CARGOSEDITAR.php

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title> Editar cargo </title>
    <link rel="stylesheet" type="text/css" media="screen" />
    <script src="js/jquery-3.4.0.min.js" type="text/javascript"></script>
    <script src="js/jquery.mask.min.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(document).ready(function(){
            $("#salario").mask("0.000,00");
        })    
    </script>
</head>
<?php
if(!empty($_GET['codigo'])){
    /**
    Conecta com o PostgreSQL
    */
    $dns = "port=55432 dbname=folha user=fortesrh password=1234";
    $db = pg_connect($dns);
    $codigo = (int) $_GET['codigo'];
    $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'");    
    $row = pg_fetch_assoc($resultado);
    $codigo = $row['codigo'];
    $descricao = $row['descricao'];
    $salario = $row['salario'];
} else $codigo = $descricao = $salario = null;
?>
<body>
    <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST">
        <label>Código: </label>
        <input name="codigo" type="text" style="width: 30%" value="<?=$codigo?>"><br>      
        <label>Descrição: </label>
        <input name="descricao" type="text" style="width: 50%" value="<?=$descricao?>"><br>
        <label>Salário: </label>
        <input name="salario" type="text" style="width: 25%" value="<?=$salario?>"><br>
        <input type="submit">
    </form>

    <form action="http://localhost/FOLHADEPAGAMENTO/CARGOSCADASTRADOS.php" method="POST">
        <p>
          <input type="submit" id="btn" value="Voltar" />
        </p>
    </form>

    </body>
</html>

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

  • Conteúdo Similar

    • Por Israel Lira
      A proposta é o usuário digitar no campo CODIGO e pelo query fazer uma consulta com script localizando o dado e redirecionado ao script de atualização no CARGO  ou  no VALOR.
       
      Segue os scripts de consulta e de atualização:
       
       
      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <title> Editar cargo </title>
          <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" />
      </head>
      <?php
      if(!empty($_GET['codigo'])){
          /**
          Conecta com o PostgreSQL
          */
          $dns = "port=55432 dbname=folha user=fortesrh password=1234";
          $db = pg_connect($dns);
          $codigo = (int) $_GET['codigo'];
          $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'");    
          $row = pg_fetch_assoc($resultado);
          $codigo = $row['codigo'];
          $descricao = $row['descricao'];
          $salario = $row['salario'];

      else $codigo = $descricao = $salario = null;
      ?>
      <body>
          <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST">
              <label>Código</label>
              <input name="codigo" readonly="1" type="text" style="width: 30%" value="<?=$codigo?>"><br>      
              <label>Descrição</label>
              <input name="descricao" readonly="1" type="text" style="width: 50%" value="<?=$descricao?>"><br>
              <label>Salário</label>
              <input name="salario" readonly="1" type="text" style="width: 25%" value="<?=$salario?>"><br>
              <input type="submit">
          </form>
      </body>
      </html>
      --------------------------------------------------------------------------------
      <?php
                
                $dados = $_POST;
                if ($dados['codigo']) {
                /**
                     Conecta com o PostgreSQL
                 */
                 $dns = "port=55432 dbname=folha user=fortesrh password=1234";
                 $db = pg_connect($dns);
                
                     
                     /**
                          Atribui a variável $query a instrução para deletar um registro.
                      */
                    $query = "UPDATE cargo SET descricao = '{$dados['descricao']}', 
                                               salario = '{$dados['salario']}'
                                               WHERE codigo = '{$dados['codigo']}'";

                    $resultado = pg_query($db, $query); /** Executa a consulta na conexão com o banco de dados e com query*/
                   
                    if ($resultado) {
                      print 'Cargo atualizado com sucesso';
                    }
                    else {
                        print pg_last_error($db);
                        
                      }  
                     
                     /**
                         Fecha a conexão com o PostgreSQL
                     */
                    
                    pg_close ($db);
                
                 }
      ?>
       

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.