Ir para conteúdo
  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por evandrozk
      Bom dia, estou com um exercicio que não consigo resolver, gostaria de saber se alguem consegue me ajudar, fazendo da forma mais fácil, utilizando while.
       
      Dado os três valores de entrada:
       Número de parcelas;
       Data Base para cálculo;
       Quantidade de dias entre cada parcela.
      Faça um algoritmo que calcule a data de vencimento de cada parcela.
      Observação 1: Quando ocorrer que a data de vencimento cair em um sábado ou domingo, deve-se incrementar a
      data até que ela alcance um dia útil (segunda a sexta).
      Observação 2: Na internet existem funções que dado uma data para esta função, ela retornará se é sábado ou
      domingo.
      Caso de Testes:
      Entrada:
      3 parcelas;
      11/10/2017
      30 dias
      Saída:
      10/11/2017
      11/12/2017
      10/01/2018
    • Por Daniel Cruz
      Bom dia, Gostaria de saber como faço para inserir o resultado das parcelas no banco de dados..
      Segue o codigo..
       
      <?php
      // DATA PARA A PRIMEIRA PARCELA A PAGAR
      /////////// ANO, MÊS, DIA
      $val = "R$ 180,00";
      $DP = Array(2018, 05, 31);
      // QUANTIDADE DE PARCELAS
      $parcelas = 12;
      // ARRAY PARA AS DATAS
      $data_array = Array($DP[0], $DP[1], $DP[2]);
      $data_array2 = Array($DP[0], $DP[1], $DP[2]);
      // ARMAZENANDO MÊS DA DATA MENOS 1
      $n = $data_array[1]-1;
      $v_i = $n;
      // FOR PRINCIPAL
      for($i = 0; $i < $parcelas; $i++) {
      $v_i++;
      // BASE PARA SOMAR OS MESES
      $v = strtotime ( '+'.$i.' month' , strtotime(implode("-", $data_array))) ;
      $v2 = strtotime ( '+'.$i.' month' , strtotime(implode("-", $data_array2))) ;
      $nd = date ( 'Y-m-d' , $v );
      $nd2 = date ( 'Y-m-d' , $v2 );
      // PEDAÇOS DA DATA DO LAÇO
      $p = explode("-", $nd);
      // ATÉ 12 MÊSES
      if($v_i <= 12) {
      // BASE DO MÊS ATUAL
      $base_mes = date("Y-m-t", strtotime($nd));
      // PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
      $forma_data = $p[0].'-'.$v_i.'-01';
      $ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
      $b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
      $b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS
      if($b1[2]!=$b2[2]) {
      echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
      } else {
      echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
      }
      }
      // ATÉ 12 MÊSES
      // DE 12 À 24 MESES
      elseif($v_i > 12 && $v_i <= 24) {
      // BASE DO MÊS ATUAL
      $base_mes = date("Y-m-t", strtotime($nd));
      // PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
      $forma_data = $p[0].'-'.($v_i-12).'-01';
      $ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
      $b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
      $b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS
      if($b1[2]!=$b2[2]) {
      echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
      } else {
      echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
      }
      }
      // DE 12 À 24 MESES
      // DE 24 À 36 MESES
      elseif($v_i > 24 && $v_i <= 36){
      // BASE DO MÊS ATUAL
      $base_mes = date("Y-m-t", strtotime($nd));
      // PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
      $forma_data = $p[0].'-'.($v_i-24).'-01';
      $ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
      $b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
      $b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS
      if($b1[2]!=$b2[2]) {
      echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
      } else {
      echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
      }
      }
      // DE 24 À 36 MESES
      // DE 36 À 48 MESES
      elseif($v_i > 36 && $v_i <= 48){
      // BASE DO MÊS ATUAL
      $base_mes = date("Y-m-t", strtotime($nd));
      // PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
      $forma_data = $p[0].'-'.($v_i-36).'-01';
      $ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
      $b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
      $b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS
      if($b1[2]!=$b2[2]) {
      echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
      } else {
      echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
      }
      }
      // DE 36 À 48 MESES
      // DE 48 À 60 MESES
      elseif($v_i > 48 && $v_i <= 60){
      // BASE DO MÊS ATUAL
      $base_mes = date("Y-m-t", strtotime($nd));
      // PEGANDO O ÚLTIMO DIA DO MÊS DO LAÇO
      $forma_data = $p[0].'-'.($v_i-48).'-01';
      $ultimo_dia_do_mes = date("Y-m-t", strtotime($forma_data));
      $b1 = explode("-", $base_mes); // EXPLODE DO BASE MES
      $b2 = explode("-", $ultimo_dia_do_mes); // EXPLODE DO ULTIMO DIA DO MÊS
      if($b1[2]!=$b2[2]) {
      echo "$val || {$b2[0]}-{$b2[1]}-{$b2[2]}<br>";
      } else {
      echo "$val || {$b1[0]}-{$b1[1]}-{$data_array[2]}<br>";
      }
      }
      // DE 48 À 60 MESES
      else {
      } // FIM DO ELSEIF
      } // FIM DO FOR PRINCIPAL
      ?>
    • Por tony_lu
      Ola pessoal, estou integrando o checkout transparente do Pagseguro e me surgiu uma duvida, quero colocar um campo onde o usuario pode colocar o numero de parcelas, mas precisa aparecer os valores, e como vou saber o valor exato das parcelas que tiver juros?!
       
      Vi em algumas lojas virtuais que existe essa opção de aparecer as parcelas com os valores, alguem pode me ajudar?
    • Por dev_aprendiz
      Boa tarde, pessoal! Não sou muito de pedir ajuda em fórum, procuro sempre resolver meus pepinos que aparecem durante o desenvolvimento. Mas, nesse caso em específico, já tentei de tudo e não consegui solução. Estou desenvolvendo um sistema web em PHP e consegui salvar parcelas no banco de dados MySQL.  O problema só está sendo porque independente da data do serviço que eu escolha ou digite no campo de data do formulário, o dia salvo no banco de dados fica 2017-09-19. Ou seja, já tentei salvar a data 2017-08-18, que é hoje, já tentei outras datas para frente e para trás e sempre vai para o banco de dados a mesma coisa 2017-09-19, 2017-10-19, 2017-11-19, etc. Os meses e ano está correto, inclusive quando divido em 6 parcelas ele muda o ano certinho e tudo, o problema está sendo só o dia. Sempre 19. Segue o código que estou usando para gerar as parcelas:
       
      $serviceID = mysqli_insert_id($conn);
              $sql1 = "SELECT id_servico, data_servico,valor_procedimento,qtd_parcelas FROM servico WHERE id_servico = '$serviceID'";
              $query1 = mysqli_query($conn,$sql1);
              while($row = mysqli_fetch_assoc($query1)){    
              $servicoID = $row['id_servico'];
              $dataS = $row['data_servico'];                            
              $valorP = $row['valor_procedimento'];
              $qtdP = $row['qtd_parcelas'];                    
                              
              
              //separando a data do serviço por partes
              date_default_timezone_set('America/Recife');                    
              $partes = explode("-",$dataS);
              $dia = $partes[0];
              $mes = $partes[1];
              $ano = $partes[2];
              //dividindo o valor total do servico pelo número de parcelas
              $valor_parcela = $valorP/$qtdP;                                                
              for($i = 1;$i <= $qtdP;$i++){
                  //incrementando o mês em 1 para a primeira parcela entrar no
                  //mês posterior                        
                  //$data_vencimento = $dia.'-'.($mes+1).'-'.$ano;
                  $data_vencimento = date('Y-m-d',strtotime("+".$i." month",mktime($mes,$dia,$ano)));
                  $sql2 = "INSERT INTO parcelamento(id_servico,valor_parcela,parcela,data_vencimento) VALUES('$servicoID','$valor_parcela','$i','$data_vencimento')";
                  $insert2 = mysqli_query($conn,$sql2);                            
              }
          }
       
      Tentei enviar em anexo imagem do retorno do BD, mas não está aceitando o arquivo. Só consegui enviar copiando e colando aqui.
      '357', '77', '2', '2017-10-19', '108.33', '0', '0'
      '358', '77', '3', '2017-11-19', '108.33', '0', '0'
      '359', '77', '4', '2017-12-19', '108.33', '0', '0'
      '360', '77', '5', '2018-01-19', '108.33', '0', '0'
      '361', '77', '6', '2018-02-19', '108.33', '0', '0'
      '362', '89', '1', '2017-09-19', '183.33', '0', '0'
      '363', '89', '2', '2017-10-19', '183.33', '0', '0'
      '364', '89', '3', '2017-11-19', '183.33', '0', '0'
      '365', '89', '4', '2017-12-19', '183.33', '0', '0'
      '366', '89', '5', '2018-01-19', '183.33', '0', '0'
      '367', '89', '6', '2018-02-19', '183.33', '0', '0'
       
      Ah, só explicando que no código acima o parâmetro de hora do mktime (0,0,0) não coloquei pois estava salvando no BD assim, com o ano 2024 e as datas nada a ver com o que passei no formulário:
       
      '344', '75', '1', '2024-04-08', '133.33', '0', '0'
      '345', '75', '2', '2024-05-08', '133.33', '0', '0'
      '346', '75', '3', '2024-06-08', '133.33', '0', '0'
      '347', '75', '4', '2024-07-08', '133.33', '0', '0'
      '348', '75', '5', '2024-08-08', '133.33', '0', '0'
      '349', '75', '6', '2024-09-08', '133.33', '0', '0'
       
       
      Me perdoem qualquer falha, pois é a primeira vez que peço ajuda em fórum. Fico grata a quem puder me auxiliar.
       

       
    • Por Mactoscohen
      Ola Galera...
      não sei como fazer um plano de amortizações por favor preciso da vossa ajuda
      exemplo:
      N*P      v. Capital       Cap. Divida         v. P/Mes            
      01       80.000            100.000            20.000   
      02        80.000              80.000            20.000      
      03        80.000              60.000            20.000   
      04        80.000              40.000            20.000
      05        80.000              20.000            20.000  
      06        80.000              00.000            00.000
      <?php include_once ("segura.php"); protPagina (); $user_logado = $_SESSION['userID']; ?> <div id="corpo_relatorio"> <table > <tr> <td colspan="8" align="center" bgcolor="#CCCCCC" ><h1>Plano Financeiro</h1></td> </tr> <tr> <td width="226" height="22" align="center" bgcolor="#CCCCCC"><strong>Valor Capitral</strong></td> <td width="327" align="center" bgcolor="#CCCCCC"><strong>Capi. Dívida</strong></td> <td width="105" colspan="2" align="center" bgcolor="#CCCCCC"><strong>V. P/Mes</strong></td> </tr> <?php $sql = mysql_query("SELECT * FROM tb_recibos" ) or die(mysql_error()); $i = 0; while($resultado = mysql_fetch_array($sql)){ $valor_capital =$resultado['valor_capital']; $cap_divida =$resultado['cap_divida']; $valor_mes =$resultado['valor_mes']; ?> <tr class="<?php echo ($i % 2) == 1 ? 'linha_a' : 'linha_b'?>"> <td align="right" ><?php echo number_format($valor_capital,2,",","."); ?></td> <td align="right" ><?php echo number_format($cap_divida,2,",","."); ?></td> <td colspan="2" ><?php echo number_format($valor_mes,2,",","."); ?></td> <?php $i++; } ?> </tr> </table> </div>  
×

Informação importante

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