Paulo Campos 01 Postado Setembro 20, 2012 Denunciar Share Postado Setembro 20, 2012 (editado) Olá, pessoal,tenho um script com uma função especifica para parcelas.Ao lançar uma data "$newData" ele salva no DB parcelas com o mesmo dia de vencimento a contar do primeiro dia da data informada de acordo com o número de parcelas.EX:Se eu lanço no dia 20/09/2012ele vai gerar as parcelas com as datas20/10/201220/11/201220/12/2012Com seus valores descontando as taxas e dividindo pelo nº de parcelas informado.Mas isso não vem ao caso.O que eu precisava é que ele somasse dias e não meses.Somasse de 30 em 30 dias de acordo com o nº de parcelas...Ele está somando 30 dias a partir do primeiro dia, pois coloquei "$qtde_dias" para somar na função "mktime", mas a partir dai ele torna esse dia de vencimento fixo.o que eu preciso é que some de 30 em 30 dias a partir do próximo dia decorrente.EX:Se eu lanço no dia 20/09/2012ele gere as parcelas nos dias20/10/201219/11/201219/12/2012Ajuda ai pessoalSegue abaixo o script.$newData('20/09/2012'); if($newData != null){ $newData = explode( "/",$newData); $dia = $newData[0]; $mes = $newData[1]; $ano = $newData[2]; $qtde_dias = '30'; } else { $dia = date("d"); $mes = date("m"); $ano = date("Y"); } for($x = 0; $x < $nParcelas; $x++){ $parcela = date("Y-m-d",strtotime("+".$x."month",mktime(0, 0, 0,$mes,$dia+$qtde_dias,$ano))); if(mysql_query("INSERT INTO cad_parcelas(data_vencimento_parcelas)VALUES('".$parcela."')")) { echo "Parcela ".$x.": ".$parcela."<br/>"; } else { die("Erro ao inserir a parcela ".$x.": ".mysql_error()); } }//for Editado Setembro 24, 2012 por Paulo Campos 01 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Evanjos Postado Setembro 22, 2012 Denunciar Share Postado Setembro 22, 2012 Tenta este<?php //=================================================== //Cria a função function SomarData($data, $dias, $meses, $ano) { $data = explode("/", $data); $newData = date("d/m/Y", mktime(0, 0, 0, $data[1] + $meses, $data[0] + $dias, $data[2] + $ano) ); return $newData; } //=================================================== //Define os parametros para chamar a função $data = date("d/m/Y"); //passe a data no formato dd/mm/yyyy $meses = "0"; $ano = "0"; $intervalo_dias = 30; $dias = $intervalo_dias; //=================================================== //Quantidade de parcelas $qt_parcelas = 4; //=================================================== //Determina os vencimentos. for ($parcela = 1; $parcela <= $qt_parcelas; $parcela++) { $vencimento = SomarData($data, $dias, $meses, $ano); //Chama a função echo "<br>Parcela ".$parcela." ".$dias." dias. Vencimento ".$vencimento; $dias = $dias + $intervalo_dias; } ?>Não esqueça de retornar.At.Everaldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Campos 01 Postado Setembro 24, 2012 Autor Denunciar Share Postado Setembro 24, 2012 (editado) valeu Brother.Deu certinho...O Tem como eu adicionar a seguinte regra:Ex:Se $vencimento der em um sábado somar +2 dias para cair na segunda.e Se $vencimento der em um domingo somar +1 dia para ocorrer o mesmo acima.Como seria ?Valeu Editado Setembro 24, 2012 por Paulo Campos 01 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paulo Campos 01
Olá, pessoal,
tenho um script com uma função especifica para parcelas.
Ao lançar uma data "$newData" ele salva no DB parcelas com o mesmo
dia de vencimento a contar do primeiro dia da data informada de acordo com o número de parcelas.
EX:
Se eu lanço no dia 20/09/2012
ele vai gerar as parcelas com as datas
20/10/2012
20/11/2012
20/12/2012
Com seus valores descontando as taxas e dividindo pelo nº de parcelas informado.
Mas isso não vem ao caso.
O que eu precisava é que ele somasse dias e não meses.
Somasse de 30 em 30 dias de acordo com o nº de parcelas...
Ele está somando 30 dias a partir do primeiro dia, pois coloquei "$qtde_dias" para somar na função "mktime",
mas a partir dai ele torna esse dia de vencimento fixo.
o que eu preciso é que some de 30 em 30 dias a partir do próximo dia decorrente.
EX:
Se eu lanço no dia 20/09/2012
ele gere as parcelas nos dias
20/10/2012
19/11/2012
19/12/2012
Ajuda ai pessoal
Segue abaixo o script.
Editado por Paulo Campos 01Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.