Israel Lira
-
Total de itens
18 -
Registro em
-
Última visita
Posts postados por Israel Lira
-
-
Em 12/07/2019 at 21:54, ShadowDLL disse:A seu dispor ;)
Tem mais uma situação que tentei mais não avançou. Quero totalizar um somatório de salario + diasdescanso.
$tabela .= '<td width="150px" align="center">'.number_format ((str_replace (',', '.', preg_replace ('#[^\d\,]#is', '', $linha['salario'])) + $linha [ 'salario' ] / $diasdescanso), 2, ',', '.').'</td>';
-
45 minutos atrás, ShadowDLL disse:ATUAL
$tabela .= '<td align="center">' . $linha [ 'salario' ] * ( $inss / 100 ) . '</td>';
ALTERAR POR
$tabela .= ' <td align="center">'. number_format ( ( str_replace ( ',', '.', preg_replace ( '#[^\d\,]#is', '', $linha [ 'salario' ] ) ) * $inss / 100 ), 2, ',', '.' ) .'</td>' ;
OBSERVAÇÕES
Se possível evitar o envio de valores formatados
ao banco de dados, pois assim, você evita ter de
fazer o trabalho acima...
Show! deu certo. Vou fazer as demais implementações. Muito obrigado.
-
14 horas atrás, ShadowDLL disse:Siga as etapas abaixo:
1º Etapa
ATUAL
var inss = 8%;
ALTERAR POR
$inss = 8;
2º Etapa
ATUAL
$tabela .= '<td align="center">'.$linha['salario * inss'].'</td>';
ALTERAR POR
$tabela .= '<td align="center">' . $linha [ 'salario' ] * ( $inss / 100 ) . '</td>';
Apresentou o erro:
O valor para calcular: 2990,00 x8% = 239.20
Script modificado:
<?php
$inss = 8;
$tabela = '<table border="1" border: solid gray 5px;>';//abre table
$tabela .='<thead>';//abre cabeçalho
$tabela .= '<tr>';//abre uma linha
$tabela .= '</tr>';//fecha linha
$tabela .='</thead>'; //fecha cabeçalho
$tabela .='<tbody>';//abre corpo da tabela$db = pg_connect("port=55432 dbname=folha user=fortesrh password=1234");
$consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome");while ($linha = pg_fetch_array($consulta)) {//declaração da variável linha trazendo o resultado da query
$tabela .= '<th colspan="2" width="210px">Folha de Pagamento</th>';
$tabela .= '<th colspan="3" width="410px">Data e Assinatura: ____/____/_____ ___________________________________________________</th>';
$tabela .= '</tr>';//fecha linha
$tabela .= '<th width="170px" height="20px" align="left">Empresa: XP Seriços Demonstrativos Ltda ME</th>';
$tabela .= '<th width="100px" align="left">CNPJ: 00.000.000/0000-00</th>';
$tabela .= '<th width="150px" align="center">Admissão: 10/05/2019</th>';
$tabela .= '<th width="150px" align="center">Competência: Junho de 2019</th>';$tabela .= '</tr>';//fecha linha
$tabela .= '<tr>'; // abre uma linha
$tabela .= '<td>'.$linha['nome'].'</td>'; // coluna nome do funcionario
$tabela .= '<td align="center">'.$linha['cargo'].'</td>'; // coluna cargo
$tabela .= '<td align="center">'.$linha['salario'].'</td>'; // coluna salario
$tabela .= '<td align="center">' . $linha [ 'salario' ] * ( $inss / 100 ) . '</td>';
$tabela .= '</tr>'; // fecha linha
$tabela .= '<th width="550px" colspan="5" align="center">----------------------------------------------------------------------</th>';
$tabela .= '</tr>'; // fecha linha}
$tabela .='</tbody>'; //fecha corpo
$tabela .= '</table>';//fecha tabelaecho $tabela; // imprime
?> -
<?php
var inss = 8%;
$tabela = '<table border="1" border: solid gray 5px;>';//abre table
$tabela .='<thead>';//abre cabeçalho
$tabela .= '<tr>';//abre uma linha
$tabela .= '</tr>';//fecha linha
$tabela .='</thead>'; //fecha cabeçalho
$tabela .='<tbody>';//abre corpo da tabela$db = pg_connect("port=55432 dbname=folha user=fortesrh password=1234");
$consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome");while ($linha = pg_fetch_array($consulta)) {//declaração da variável linha trazendo o resultado da query
$tabela .= '<th colspan="2" width="210px">Folha de Pagamento</th>';
$tabela .= '<th colspan="3" width="410px">Data e Assinatura: ____/____/_____ ___________________________________________________</th>';
$tabela .= '</tr>';//fecha linha
$tabela .= '<th width="170px" height="20px" align="left">Empresa: XP Seriços Demonstrativos Ltda ME</th>';
$tabela .= '<th width="100px" align="left">CNPJ: 00.000.000/0000-00</th>';
$tabela .= '<th width="150px" align="center">Admissão: 10/05/2019</th>';
$tabela .= '<th width="150px" align="center">Competência: Junho de 2019</th>';$tabela .= '</tr>';//fecha linha
$tabela .= '<tr>'; // abre uma linha
$tabela .= '<td>'.$linha['nome'].'</td>'; // coluna nome do funcionario
$tabela .= '<td align="center">'.$linha['cargo'].'</td>'; // coluna cargo
$tabela .= '<td align="center">'.$linha['salario'].'</td>'; // coluna salario
$tabela .= '<td align="center">'.$linha['salario * inss'].'</td>'; // coluna salario
$tabela .= '</tr>'; // fecha linha
$tabela .= '<th width="550px" colspan="5" align="center">----------------------------------------------------------------------</th>';
$tabela .= '</tr>'; // fecha linha}
$tabela .='</tbody>'; //fecha corpo
$tabela .= '</table>';//fecha tabelaecho $tabela; // imprime
?>Spoiler -
Caros, não estou sabendo implementar duas consultas quando o usuário clicar no (button). É uma proposta de apresentar a folha, mostrar os funcionários pelo SELECT . Atualmente, consigo fazer com que ele veja se existe a referencia e se não existir apresenta um span de não encontrado. Preciso que faça de imediato uma sub-consulta trazendo os dados do select abaixo e se possivel implementar um exemplo calculando por exemplo um desconto de inss, por exemplo.: Salário: 1200,00 * 8% = 96,00.
consultaBanco("SELECT funcionario.nome, funcionario.cargo, cargo.salario, folhamesano.mesano FROM funcionario, cargo, folhamesano WHERE funcionario.cargo = cargo.descricao AND folhamesano.mesano='{$codigoMes}'");
Segue primeiro o consulta folha:
<!DOCTYPE html>
<html>
<head>
<title>Consultar Folha</title>
<link rel="stylesheet" type="text/css" href="style.css" >
<!--
Por comodidade, eu estou usando jquery direto do site deles, isso é mto comum e recomendado inclusive.
-->
<script src="https://code.jquery.com/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(){
$("#cpf").mask("000.000.000-00");
$("#rg").mask("0.000.000");
$("#horario").mask("00:00");
$("#Mesano").mask("00/0000");
});/**
* Este aqui é o nosso método Javascript que irá fazer a requisição assincrona
*/
function pesquisarMesano(codigoMes) {
document.getElementById('mensagem_erro').innerText = '';/** Teste*/
document.getElementById('mensagem_folha').innerText = '';
/** Teste*/
$.get(
'/FOLHADEPAGAMENTO/RECIBOFOLHA/obtemFolhaPorCodigo.php',
{ codigoMes: codigoMes },
function (response) {
if (response.erro === 404) {
/**
* Eu nao estou usando o Jquery para obter os elementos, isso pq na versao do Javascript dos navegadores modernos, nao é mais necessario o jquery para isso
*/
document.getElementById('formFolhamesano').reset();
document.getElementById('mensagem_erro').innerText = 'Folhamesano #'+codigoMes+' não encontrado!';return;
}document.getElementById('mensagem_folha').innerText = 'Folhamesano #'+codigoMes+' teste!';
document.getElementById('mesano').value = response.mesano;
document.getElementById('nome').value = response.nome;
document.getElementById('cargo').value = response.cargo;
document.getElementById('salario').value = response.salario;
document.getElementById('descricao').value = response.descricao;
document.getElementById('horario').value = response.horario;
},
'json'
);
}</script>
<style type="text/css">
#corposistema{width: 1200px auto;
height: 500px auto;
}
#corpocadastro{
border: solid gray 5px;
width: 300px;
height: 210px;
border-radius: 5px;
margin: 120px auto;
background: white;
padding: 50px;
}
#botao{
color: #fff;
margin-left: 370px;
margin-top: -170px;
background: #337ab7;
border-radius: 85%;
background: #337ab7;
text-align: center;
padding-top: 0 auto;
}
#botaocancelar{
height: 70%;
color: #fff;
margin-left: 370px;
margin-top: -5px;
padding-top: 0 auto;
background: #337ab7;
text-align: center;
border-radius: 85%;
}
</style>
</head>
<?phpinclude "banco_de_dados.php";
if(!empty($_GET['codigoMes'])){
$codigoMes = (int) $_GET['codigoMes'];
$row = consultaBanco("SELECT funcionario.nome, funcionario.cargo, cargo.salario, folhamesano.mesano from funcionario, cargo, folhamesano WHERE funcionario.cargo = cargo.descricao AND folhamesano.mesano='{$codigoMes}'");$codigoMes = $row['codigoMes'];
$nome = $row['nome'];
$rg = $row['rg'];
$cpf = $row['cpf'];
$descricao = $row['descricao'];
$horario = $row['horario'];
} else $codigoMes = $nome = $rg = $cpf = $descricao = $horario = null;?>
<body>
<div id="corposistema">
<div id="corpocadastro">
<form id="formFolhamesano" action="/FOLHADEPAGAMENTO/RECIBOFOLHA/CADASTROFOLHA.php" method="POST">
<p>
<label>Competência </label>
<input name="codigoMes" id="Mesano" type="text" style="width: 20%" value="<?=$codigoMes?>" required/><button type="button" onclick="pesquisarMesano(this.form.elements['codigoMes'].value)">Pesquisar</button>
<span style="color: red" id="mensagem_erro"></span><br/>
<span style="color: red" id="mensagem_folha"></span><br/>
</p>
</form>
<form action="/FOLHADEPAGAMENTO/RECIBOFOLHA/FOLHACADASTRADOS.php" method="POST">
<div id="botaocancelar">
<p>
<input type="submit" id="btn" value=" Cancelar " />
</p>
</div>
</form>
</div>
</div>
</body>
</html>___________________________________________________
<?php
require "banco_de_dados.php";
function obtemfolhamesanoPorId($codigoMes) {
return consultaBanco("SELECT funcionario.nome, funcionario.cargo, cargo.salario, folhamesano.mesano FROM funcionario, cargo, folhamesano WHERE funcionario.cargo = cargo.descricao AND folhamesano.mesano='{$codigoMes}'");}
/**
* Esse é o script que irá responder a requisição assincrona que criamos no Javascript
*
* Aqui eu espero que a query string codigoFuncionario esteja definida (Pode estar vazia, mas precisa estar definida, por exemplo, codigoCargo= ) por isso usei isset
*
*
*/
if (isset($_GET['codigoMes'])) {
$codigoMes = $_GET['codigoMes'];
$nome = $_GET['nome'];/** Novamente encapsulando em métodos para adicionar contexto ao código */
$folhamesano = obtemfolhamesanoPorId($codigoMes);if (empty($folhamesano)) {
/** Como este é um código bem simples, usei o die para escrever o valor de saida
* isso pq eu quero neste caso o texto seja escrito e a aplicação pare aqui
* Eu poderia user um echo seguido de um return, mas para adicionar contexto
* eu usei um método que deixe claro a intenção. Morre aqui e escreve o que eu estou pedindo.*/
die(json_encode([
'erro' => 404,
]));
$tabela = '<table border="1" border: solid gray 5px;>';//abre table
$tabela .='<thead>';//abre cabeçalho
$tabela .= '<tr>';//abre uma linha
$tabela .= '<th width="410px">Nome</th>';
$tabela .= '<th width="300px">cargo</th>';
$tabela .= '<th width="140px">salario</th>';
$tabela .= '</tr>';//fecha linha
$tabela .='</thead>'; //fecha cabeçalho
$tabela .='<tbody>';//abre corpo da tabela$db = pg_connect("port=55432 dbname=folha user=fortesrh password=1234");
$consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome");
while ($linha = pg_fetch_array($consulta)) {//declaração da variável linha trazendo o resultado da query
$tabela .= '<tr>'; // abre uma linha
$tabela .= '<td>'.$linha['nome'].'</td>'; // coluna nome do funcionario
$tabela .= '<td align="center">'.$linha['cargo'].'</td>'; // coluna cargo
$tabela .= '<td align="center">'.$linha['salario'].'</td>'; // coluna salario
$tabela .= '</tr>'; // fecha linha
}
$tabela .='</tbody>'; //fecha corpo
$tabela .= '</table>';//fecha tabelaecho $tabela; // imprime
}/** Neste caso eu quero escrever e sair (Se nada acontecer depois, ele irá sair sozinho), poderia usar o die, sim. Mas nao é um ponto onde precisa morrer, apenas sair um texto */
echo json_encode($folhamesano);
} else {
die(json_encode([
'erro' => 404,
]));
} -
Caros, não estou sabendo implementar duas consultas quando o usuário clicar no (button). É uma proposta de apresentar a folha, mostrar os funcionários pelo SELECT . Atualmente, consigo fazer com que ele veja se existe a referencia e se não existir apresenta um span de não encontrado. Preciso que faça de imediato uma sub-consulta trazendo os dados do select abaixo e se possivel implementar um exemplo calculando por exemplo um desconto de inss, por exemplo.: Salário: 1200,00 * 8% = 96,00.
$consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome");
Segue primeiro o consulta folha:
<!DOCTYPE html>
<html>
<head>
<title>Consultar Folha</title>
<link rel="stylesheet" type="text/css" href="style.css" >
<!--
Por comodidade, eu estou usando jquery direto do site deles, isso é mto comum e recomendado inclusive.
-->
<script src="https://code.jquery.com/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(){
$("#cpf").mask("000.000.000-00");
$("#rg").mask("0.000.000");
$("#horario").mask("00:00");
$("#Mesano").mask("00/0000");
});/**
* Este aqui é o nosso método Javascript que irá fazer a requisição assincrona
*/
function pesquisarMesano(codigoMes) {
document.getElementById('mensagem_erro').innerText = '';/**
* Este é o método do Jquery que nos ajuda com o assincrono
* Aqui ele faz uma request para http://nome_do_nosso_servidor/FOLHAPAGAMENTO/obtemFuncionarioPorCodigo.php
* e passa como query string o parametro codigoFuncionario no final a url fica assim:
* http://nome_do_nosso_servidor/FOLHAPAGAMENTO/obtemFuncionarioPorCodigo.php?codigoFuncionario=VALOR
*
* O valor da matricula do funcionario é passado pelo botao lá no form, ele obtem o valor do campo e passa para o método
*/
$.get(
'/FOLHADEPAGAMENTO/RECIBOFOLHA/obtemFolhaPorCodigo.php',
{ codigoMes: codigoMes },
/**
* Esse método aqui será chamado pelo Jquery assim que o script obtemFuncionarioPorCodigo.php
* imprimir qualquer coisa.
* Isso é chamado 'callback' e como parametro recebemos a resposta devolvida pelo script php
*/
function (response) {
/**
* Para entender os valores de response, de uma olhada no script obtemFunncionarioPorCodigo primeiro.
* Tudo que está aqui (response.erro, response.descricao e response.salario) foi ele quem devolveu.
*/
if (response.erro === 404) {
/**
* Eu nao estou usando o Jquery para obter os elementos, isso pq na versao do Javascript dos navegadores modernos, nao é mais necessario o jquery para isso
*/
document.getElementById('formFolhamesano').reset();
document.getElementById('mensagem_erro').innerText = 'Folhamesano #'+codigoMes+' não encontrado!';return;
}document.getElementById('mesano').value = response.mesano;
document.getElementById('nome').value = response.nome;
document.getElementById('cargo').value = response.cargo;
document.getElementById('salario').value = response.salario;
document.getElementById('descricao').value = response.descricao;
document.getElementById('horario').value = response.horario;
},
'json'
);
}</script>
<style type="text/css">
#corposistema{width: 1200px auto;
height: 500px auto;
}
#corpocadastro{
border: solid gray 5px;
width: 300px;
height: 210px;
border-radius: 5px;
margin: 120px auto;
background: white;
padding: 50px;
}
#botao{
color: #fff;
margin-left: 370px;
margin-top: -170px;
background: #337ab7;
border-radius: 85%;
background: #337ab7;
text-align: center;
padding-top: 0 auto;
}
#botaocancelar{
height: 70%;
color: #fff;
margin-left: 370px;
margin-top: -5px;
padding-top: 0 auto;
background: #337ab7;
text-align: center;
border-radius: 85%;
}
</style>
</head>
<?phpinclude "banco_de_dados.php";
if(!empty($_GET['codigoMes'])){
$codigoMes = (int) $_GET['codigoMes'];/** Comentários do Adriano
* Aqui simpliquei o uso do banco deixando apenas o que me importa. Conectar ao banco toda hora copiando aquele código
* só vai sujar o seu script e te atrapalhar a encontrar possiveis problemas no futuro.
*
* O ideial seria desacoplar tudo, PHP no seu canto (E desacoplar o script PHP - código importante para um lado, código de banco para outro)
* HTML esperando apenas valores e sem logico de PHP.
*
* Mas isso é para o futuro mas é bom ter em mente.
*/
$row = consultaBanco("SELECT folhamesano.mesano FROM folhamesano WHERE folhamesano.mesano='{$codigoMes}'");$codigoMes = $row['codigoMes'];
} else $codigoMes = null;?>
<body>
<div id="corposistema">
<div id="corpocadastro">
<form id="formFolhamesano" action="/FOLHADEPAGAMENTO/RECIBOFOLHA/CADASTROFOLHA.php" method="POST">
<p>
<label>Competência </label>
<input name="codigoMes" id="Mesano" type="text" style="width: 20%" value="<?=$codigoMes?>" required/><button type="button" onclick="pesquisarMesano(this.form.elements['codigoMes'].value)">Pesquisar</button>
<span style="color: red" id="mensagem_erro"></span><br/>
</p>
</form>
<form action="/FOLHADEPAGAMENTO/RECIBOFOLHA/FOLHACADASTRADOS.php" method="POST">
<div id="botaocancelar">
<p>
<input type="submit" id="btn" value=" Cancelar " />
</p>
</div>
</form>
</div>
</div>
</body>
</html>--------------------------------------------------------
Segue o script que irá responder a requisição:
<?php
require "banco_de_dados.php";
function obtemfolhamesanoPorId($codigoMes) {
return consultaBanco("SELECT folhamesano.mesano FROM folhamesano WHERE folhamesano.mesano='{$codigoMes}'");
}/**
* Esse é o script que irá responder a requisição assincrona que criamos no Javascript
*
* Aqui eu espero que a query string codigoFuncionario esteja definida (Pode estar vazia, mas precisa estar definida, por exemplo, codigoCargo= ) por isso usei isset
*
*
*/
if (isset($_GET['codigoMes'])) {
$codigoMes = $_GET['codigoMes'];/** Novamente encapsulando em métodos para adicionar contexto ao código */
$folhamesano = obtemfolhamesanoPorId($codigoMes);if (empty($folhamesano)) {
/** Como este é um código bem simples, usei o die para escrever o valor de saida
* isso pq eu quero neste caso o texto seja escrito e a aplicação pare aqui
* Eu poderia user um echo seguido de um return, mas para adicionar contexto
* eu usei um método que deixe claro a intenção. Morre aqui e escreve o que eu estou pedindo.*/
die(json_encode([
'erro' => 404,
]));
}/** Neste caso eu quero escrever e sair (Se nada acontecer depois, ele irá sair sozinho), poderia usar o die, sim. Mas nao é um ponto onde precisa morrer, apenas sair um texto */
echo json_encode($folhamesano);
} else {
die(json_encode([
'erro' => 404,
]));$tabela = '<table border="1" border: solid gray 5px;>';//abre table
$tabela .='<thead>';//abre cabeçalho
$tabela .= '<tr>';//abre uma linha
$tabela .= '<th width="410px">Nome</th>';
$tabela .= '<th width="300px">cargo</th>';
$tabela .= '<th width="140px">salario</th>';
$tabela .= '</tr>';//fecha linha
$tabela .='</thead>'; //fecha cabeçalho
$tabela .='<tbody>';//abre corpo da tabela$db = pg_connect("port=55432 dbname=folha user=fortesrh password=1234");
$consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome");while ($linha = pg_fetch_array($consulta)) {//declaração da variável linha trazendo o resultado da query
$tabela .= '<tr>'; // abre uma linha
$tabela .= '<td>'.$linha['nome'].'</td>'; // coluna nome do funcionario
$tabela .= '<td align="center">'.$linha['cargo'].'</td>'; // coluna cargo
$tabela .= '<td align="center">'.$linha['salario'].'</td>'; // coluna salario
$tabela .= '</tr>'; // fecha linha
}
$tabela .='</tbody>'; //fecha corpo
$tabela .= '</table>';//fecha tabelaecho $tabela; // imprime
} -
-
.
-
23 horas atrás, paulpolidoro disse:A coluna salário é float? E qual valor está vindo na variável $salario?
Resolvido.
-
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> -
-
-
Quero excluir este tópico.
-
CARGOSEDITAR.php
<!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" 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>
</body>
</html> -
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);
}
?> -
<!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);
}
?> -
Fiz algumas buscas, até encontrei várias referencias apontando o mesmo erro que o meu, porém, não entendi ao certo o problema.
Ao abrir uma pagina estou obtendo o seguinte erro:
<br /><b>Notice</b>: Undefined variable: codigo in <b>D:\PROJETOS\LOCALHOST\FOLHADEPAGAMENTO\CARGOSEDITAR.php</b> on line <b>36</b><br />
<!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>
<?phpif (!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'];
}
?>
<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>
</form>
<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>
Erro de codigo no VS code criando formulário e redirecionamento
em Android
Postado
Por gentileza, preciso de ajuda! estou iniciando aqui na comunidade e recente no flutter. Tenho uma missão de utilizar o json e controller dos inputs. Preciso pelo botão (ADD) sair da Primeira tela redirecionar para a Segunda tela, salvar ao colocar os inputs e retornar para a primeira mostrando (nome e valor). O formulário da Segunda Tela terá campos: nome, telefone, data e valor. Quero manter a função dismissible para termos o efeito de arrastar o item da lista. Segue o que estou fazendo mais com erros.
Não sei como proceder e apanhando a vários dias!