Jump to content
Israel Lira

Como faço para implementar o calculo na operação pegando o var INSS e obter o resultado na linha salario * inss

Recommended Posts

<?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 tabela

                                        echo $tabela; // imprime
        
                                    ?>

Spoiler

 

 

Share this post


Link to post
Share on other sites

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>';

 

Share this post


Link to post
Share on other sites
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:

 

image.png.958e36d05dc99b45dec67b8744f8fbed.png

 

image.png.fb332ac0ce4da96319ace1e4da05c502.png

 

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 tabela

                                        echo $tabela; // imprime
        
                                    ?>

 

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites
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.

 

Share this post


Link to post
Share on other sites
1 hora atrás, Israel Lira disse:

 

Show! deu certo. Vou fazer as demais implementações. Muito obrigado.

 

 

A seu dispor ;)

Share this post


Link to post
Share on other sites
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>';

image.png.3f8e614e997d47405c0b0921945d8f56.png

 

 

Share this post


Link to post
Share on other sites
Em 13/07/2019 at 08:53, Israel Lira disse:

 

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>';

image.png.3f8e614e997d47405c0b0921945d8f56.png

 

 

 

 

Segue exemplo:

 

CÓDIGO

<?php
	$inss = 8;
	$linha = array (
		'nome' => "Israel Lira",
		'cargo' => "ADMINISTRADOR",
		'salario' => "2.990,50"
	);


	# DIAS DESCANSO
	$diasdescanso = 3;

	# SALARIO
	$salario = str_replace (
		',', '.', preg_replace (
			'#[^\d\,]#is', '', $linha['salario']
		)
	);

	$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


		$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 .= '<th width="150px" align="center">Salário + Descanso</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">'.
				number_format (
					(
						$salario * $inss / 100
					), 2, ',', '.'
				)
			.'</td>'
		;

		# DIAS DESCANSO
		$tabela .= '
			<td>'.
				number_format (
					(
						$salario + ( $salario / $diasdescanso )
					), 2, ',', '.'
				).
			'</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 tabela

	echo $tabela; // imprime
?>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By violin101
      Caros amigos, saudações...
       
      Se postei minha dúvida na opção errada, por favor, me perdoa.
       
      Estou com uma dúvida referente o Carregamento de INPUT através de Select Option com valor vindo do MySql.
       
      Tenho duas DIV, onde mostro um Input caso o Option seja igual a SIM.
       
      O problema é que quando Edito para Alterar o SELECT=2(SIM)  não mostra o Input Ativo.
       
      O Código está assim:
      VIEW:
       
      <div class="col-md-2"> <div class="form-group"> <label for="infoManut" class="control-label ctrlbl">Site em Manutenção:</label> <div class="controls"> <select name="infoManut" id="infoManut" style="width:100%;" class="form-control" onchange="mostrManut(this.value)"> <?php if ($syte[0]->infoManut == 1) { $nao = 'selected'; $sim = ''; } else { $nao = ''; $sim = 'selected'; } ?> <option value="1" <?= $nao ?>>NÃO</option> <option value="2" <?= $sim ?>>SIM</option> </select> </div> </div> </div> <div class="clearfix"></div> <div id="1" class="col-md-12" style="display:none;"> <div class="col-md-12"> <!---Não Mostra Nada---> </div> </div> <!--Como mostro essa DIV quando o Mysql for igual a 2 --> <div id="2" class="col-md-12" style="display:none;"> <div class="col-md-12"> <div class="form-group"> <label for="txt_manut">Informe um Motivo para Manutenção</label> <input id="txt_manut" type="txt_manut" name="txt_manut" class="form-control" style="width:100%;" /> </div> </div> </div> <div class="clearfix"></div> <br/>  
      JAVASCRIPT
       
      <script type="text/javascript"> //Habilitar e Desabilitar DIV's Manutenção do Site function mostrManut(value) { if (value == "1") { document.getElementById("1").style.display = "none"; document.getElementById("2").style.display = "none"; $("#txt_manut").val(''); } else if (value == "2") { document.getElementById("1").style.display = "none"; document.getElementById("2").style.display = "block"; } } </script>  
      Grato,
       
      Cesar
       
       
    • By Marxrj
      Boa noite, estou quebrando a cabeça para incluir marca d'agua em imagens no upload.
      No upload eu consigo fazer o redimensionamento perfeito, inserir uma parte de outro código para inserir a marca d'agua, porpem ele não funcionou na primeira tentativa, fiz umas alterações, aí ele faz o redimensionamento, coloca a logo mas a imagem de fundo fica simplesmente preta..
       
      Esse abaixo é o padrão no qual ele faz o upload da foto e redimensiona, TUDO CERTO!!
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem);  
      Ai parti para inserir a parte para colocação da marca d'adua. O que foi incluso é aonde tem os comentários. Mas acontece neste momento que ele faz o upload e o redimensionamento normal mas não insere a marca d'agua
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); // Obtem a logomarca $imagem_logo = imagecreatefromgif( "logo_texto.gif" ); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); // Obtem a largura_nova da imagem $larguraLogo = imagesx( $imagem_logo ); // Obtém a altura da imagem $alturaLogo = imagesy( $imagem_logo ); // Calcula X 5px da latreral direira $x_logo = imagesx( $imagem ) - $larguraLogo - 5; // Calcula X 5px do rodapé $y_logo = imagesy( $imagem ) - $alturaLogo - 5; // Copia a logo para a imagem imagecopymerge( $imagem, $imagem_logo, $x_logo, $y_logo, 0, 0, $larguraLogo, $alturaLogo, 100 ); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem);  
      Por fim apenas apenas troquei o nome imagem_logo na parte que iria inserir a marca d'agua por imagem_temporaria que já tinha no código antigo. Neste momento ele faz o upload, redimensiona e insere a marca d'agua, mas a imagem de fundo não aparece, fica um fundo preto.
       
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); // Obtem a logomarca $imagem_temporaria = imagecreatefromgif( "logo_texto.gif" ); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); // Obtem a largura_nova da imagem $larguraLogo = imagesx( $imagem_temporaria ); // Obtém a altura da imagem $alturaLogo = imagesy( $imagem_temporaria ); // Calcula X 5px da latreral direira $x_logo = imagesx( $imagem ) - $larguraLogo - 5; // Calcula X 5px do rodapé $y_logo = imagesy( $imagem ) - $alturaLogo - 5; // Copia a logo para a imagem imagecopymerge( $imagem, $imagem_temporaria, $x_logo, $y_logo, 0, 0, $larguraLogo, $alturaLogo, 100 ); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem); Se alguém puder da uma luz e dizer aonde estou errando.
    • By k9studio
      Olá meus Amigos,
       
      Estou tendo dificuldades em eliminar dados repetidos de uma session
      é um sisteminha de pesquisa de domínios com array
      quero eliminar quando já tiver um nome na session, não deixar gravar outro
      aguem pode ajudar
      veja como está  
      Array ( [0] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [1] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [2] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) [3] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [4] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [5] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) ) Desde já muito obrigado a todos
    • By realisacnovaes
      Sou novo no fórum e não sei se postei no lugar certo, mas desde já peço desculpas.
       
      Eu estou com um projeto de desenvolver um chat online, porém preciso de algumas ajudas e pago pelo serviço.
       
      já tenho um chat em php (modelo livre construido e disponibilizado de graça no youtube) e gostaria de fazer algumas modificações tais como:
      - Chat em grupo
      - Deletar mensagem para mim/todos
      - ligação por áudio e vídeo
       
      outras coisas adicionais.
      alguém poderia me ajudar ou alguém disponível para eu contratar?
    • By marceloDiegues
      Olá, amigos.
      Por favor,  me ajude com a seguintes perguntas.
       
      Qual a complexidade de um projeto desse?
      Qual o preçp de um projeto desse tipo?
       
      Quero contratar algum profissional para criar um site que tenha as seguintes funcionabilidades:
       
      1- Cadastro de usuário;
      2- Login e senha;
      3- O site seria muito parecido com o www.qconcursos.com, o usuário resolveria questões online.
      Contudo, haveria a possibilidade de criar salas tipo aqueles bate-papo da &nbsp;UOL.
      Então, o usuário criaria salas de estudos, em que , resolveria questões e conseguiria se comunicar por chat com usuários que estejam na mesma sala.
       
      Exemplo em anexo:
       
       
       
       

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.