
Sorrentino
Membros-
Total de itens
1 -
Registro em
-
Última visita
Sobre Sorrentino

Sorrentino's Achievements
0
Reputação
-
Oi Pessoal... Estou tendo dificuldade em fazer funcionar um calculo em PHP. A rotina que fiz (abaixo ), tem a seguinte função.... 1) Por um FORM envio a data e valor final.... 2) quando envio o form ele busca o valor inicial em uma tabela chamada tb_grupo 3) Usa os dados enviados pelo form e dados da tabela para fazer calculos 4) faz a inclusao dos dados em uma tabela chamada Tb_lancamento. 5) Atualiza a tabela Tb_grupo 6 )entra em um while de uma tabela chamada tb_participantes... 7) Na primeira passada do while os lancamentos ficam corretos.... porem na segunda em diante ele le, mas os valores atualizados ficam errados... Detalhe.... fiz o teste colocando echo "...." no lugar de gravar e o valor vem correto... alguém pode me dar uma dica onde estou errando? o ARQUIVO ESTA TODO COMENTADO Grato <?php session_start(); $_SESSION["sessiontime"] = time() + 2400; include_once("conexao.php"); //dados inseridos no formulario $Lan_grupo=$_POST['Lan_grupo']; $Lan_data=$_POST['Lan_data']; $Lan_saldo_final= //$_POST['Lan_saldo_final']; // busca dados do grupo para calculo dos novos valores $sql = "SELECT * FROM tb_grupo WHERE Gr_id = '$Lan_grupo'"; $executa = mysqli_query($conn, $sql); $cotacao=$executa->fetch_array(); // pega saldo do grupo para ser o saldo inicial da operacao $Lan_saldo_inicial=$cotacao[2]; $Lan_cotas_atuais_grupo=$cotacao[3]; // Total de cotas no inicio do lancamento $Lan_valor_cota_inicial=$cotacao[4]; // valor da cota no inicio do lancamento // lucro total em dolares (saldo final - saldo_inicial) $Lucro = $Lan_saldo_final-$Lan_saldo_inicial; // valor atualizado por cota (divide saldo_final pelo numero de cotas totais no grupo) $Valor_cotas = $Lan_saldo_final/$Lan_cotas_atuais_grupo; // valor do lucro por cota // divide lucro pelo numero de cotas totais no grupo $lucro_por_cotas = $Lucro/$Lan_cotas_atuais_grupo; // valor da cota individual // valor da cota inicial $Cota_inicio=$Lan_saldo_inicial/$Lan_cotas_atuais_grupo; //=========================================================================================================================== // inclui a operacao em lancamento usando os dados digitados e dados vindos de tb_grupo //=========================================================================================================================== // Inclui o lancamento no TB_lancamento $result_usuario = "INSERT INTO tb_lancamento (Lan_id, Lan_grupo, Lan_data, Lan_saldo_inicial, Lan_saldo_final, Lan_cotas_grupo, Lan_valor_cota_inicial ) VALUES ('NULL', '$Lan_grupo', '$Lan_data', '$Lan_saldo_inicial', '$Lan_saldo_final', '$Lan_cotas_atuais_grupo' , ' $Lan_valor_cota_inicial')"; $resultado_usuario = mysqli_query($conn, $result_usuario); // atualizacao dos valores em tb_grupo $grupo = "UPDATE tb_grupo SET Gr_saldo='$Lan_saldo_final', Gr_valor_cotas='$Valor_cotas', Gr_dt_ultimo='$Lan_data' WHERE Gr_id = '$Lan_grupo'"; mysqli_query($conn, $grupo); // executa a query lista //=========================================================================================================================== // lanca resultado e comissoes nos participantes // //=========================================================================================================================== // seleciona o participante para buscar dados $participante = "SELECT * FROM tb_participante where Par_grupo=$Lan_grupo"; $participa = $conn->query($participante); while($participa10 = $participa->fetch_row() ) { $Usuario_id=$participa10[0]; // id do usuario atual $Usuario=$participa10[1]; // nome do participante $Usuario_cotas=$participa10[7]; // numero de cotas atuais do participante $Captador=$participa10[9]; // Id do captador $cap_comissao=$participa10[10]; // % da comissao a pagar ao captador $Trader=$participa10[11]; // id do trader $Trader_comissao=$participa10[12]; // // % da comissao a pagar ao trader $Comissao_em_valor_captador=0; // zera comissao do captador em USD $Comissao_em_cotas_captador = 0; //zera valor em cotas pagas ao captador $Comissao_em_valor_trader=0; // comissao do captador em USD $Comissao_em_cotas_trader = 0; // valor em cotas pagas ao trader $Comissoes_pagas_em_cotas=0; // total a debitar nas cotas do investidor $Usuario_nova_cota= 0; // cotas do investidor $Lucro_usuario_valor =0; // lucro do participante em valor $Lucro_usuario_cotas =0; // lucro participante em cotas Echo "<h3>".$Usuario."----Valor inicial : ".$Lan_saldo_inicial. " ---- Valor final da operação : ".$Lan_saldo_final. "---Cotas atuais : ".$Usuario_cotas."<br>"; if( $Usuario_cotas>0) { $Lucro_usuario_valor = $lucro_por_cotas*$Usuario_cotas; // lucro do investidor em valor $Lucro_usuario_cotas = $Lucro_usuario_valor/$Usuario_cotas; // lucro investidor em cotas //=============================================================================================== if($cap_comissao >0){ $Comissao_em_valor_captador=(($Lucro_usuario_valor*$cap_comissao)/100); // comissao do captador em USD $Comissao_em_cotas_captador = ($Comissao_em_valor_captador/$Valor_cotas); // valor em cotas pagas ao captador }else{ $Comissao_em_valor_captador=0; // comissao do captador em USD $Comissao_em_cotas_captador = 0; // valor em cotas pagas ao captador Echo "<h1>Calculo da Comissao do Captador na operaçao = ".$Comissao_em_cotas_captador."</h1><hr>"; } //================================================================================================= if($Trader_comissao >0 ){ $Comissao_em_valor_trader=(($Lucro_usuario_valor*$Trader_comissao)/100); // comissao em USD $Comissao_em_cotas_trader = ($Comissao_em_valor_trader/$Valor_cotas); // valor em cotas pagar ao trader }else{ $Comissao_em_valor_trader=0; // comissao do captador em USD $Comissao_em_cotas_trader = 0; // valor em cotas pagas ao trader Echo "<h1>Calculo da Comissao do trader na operação = ".$Comissao_em_cotas_trader."</h1><hr>"; } //================================================================================================== if($Lucro <= 0){ $Usuario_nova_cota=$Usuario_cotas; } else { $Comissoes_pagas_em_cotas=($Comissao_em_cotas_captador+$Comissao_em_cotas_trader); // total a debitar nas cotas do investidor $Usuario_nova_cota=($Usuario_cotas-$Comissoes_pagas_em_cotas); // saldo em cotas do investidor } Echo "<h1>Investidor Cotas atuais = ".$Usuario_cotas." --- Nova cota = ".$Usuario_nova_cota."</h1><hr>"; //================================================================================================== // Update no Investidor (AQUI ESTA DANDO CERTO) $lanca = "UPDATE tb_participante SET Par_cotas = $Usuario_nova_cota WHERE Par_id = $Usuario_id"; mysqli_query($conn, $lanca); // executa a query lista $investidor = "SELECT * FROM tb_participante WHERE Par_id = $Usuario_id"; $investe = $conn->query($investidor); $investido=$investe->fetch_array(); echo "<h1>Nova cota do investidor gravada ".$investido[7]."</h1><br>"; //================================================================================================== if($Lucro> 0.00) { //================================================================================================== // (NESTE LANCAMENTO OS VALORES são GRAVADOS, POREM COM VALORES ERRADOS A PARTIR DO SEGUNDO REGISTRO) // Update no Captador if($cap_comissao > 0) { if($Captador!=$Usuario_id){ $lanca7 = "UPDATE tb_participante SET Par_cotas = (Par_cotas+$Comissao_em_cotas_captador) WHERE Par_id = $Captador"; mysqli_query($conn, $lanca7); // executa a query lista $captador = "SELECT * FROM tb_participante WHERE Par_id = $Captador"; $captado = $conn->query($captador); $captado1 =$captado->fetch_array(); echo "<h1>Nova cota do captador gravada --- ".$captado1[7]."</h1><br>"; }else{ echo "<h1>Não tem captador</h1><br>";} } //=================================================================================================== // Update no Trader // (AQUI TAMBEM...NESTE LANCAMENTO OS VALORES são GRAVADOS, POREM COM VALORES ERRADOS A PARTIR DO SEGUNDO REGISTRO) if($Trader_comissao > 0) { if($Captador!=$Usuario_id){ $lanca3 = "UPDATE tb_participante SET Par_cotas = Par_cotas+$Comissao_em_cotas_trader WHERE Par_grupo=$Lan_grupo && Par_id = $Trader"; mysqli_query($conn, $lanca3); // executa a query lista $operador = "SELECT * FROM tb_participante WHERE Par_id = $Trader"; $operado = $conn->query($operador); $operador1 =$operado->fetch_array(); echo "<h1>Nova cota do trader gravada ".$operador1[7]."</h1><br>"; }else{ echo "<h1>Não tem Trader</h1><br>";} } //=================================================================================================== // fim da comissao } // fim do if lucro >0 //=================================================================================================== } // fim do if cotas>0 echo "================================================================================<br> "; } // fim do while ?>