Kelven 1 Denunciar post Postado Setembro 11, 2016 Galera preciso que em um for quando o valor de $n chegar a 13 ele começa a conta de novo de 1 olha como to fazendo : for ($n = 1; $n <= $limite; $n++) { $total = $vencimento + $n; if($total > 12) { //aqui teria q resetar para começar a contar de 1 denovo } } como posso fazer isso??? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 11, 2016 Problema de lógica, isso entraria em looping infinito... Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 11, 2016 Não pq esse limite é um número de um formulário, Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 11, 2016 Tudo que eu preciso pra funcionar é descobrir uma maneira de q a variável $n volte a contar de 1 Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Setembro 11, 2016 Não pq esse limite é um número de um formulário, Sim! sua lógica acima provocaria um loop infinito. Correto seria usar dois laços, um dentro do outro, ao executar a primeira fila do loop executaria o segundo loop dentro desde bloco, até que este fosse executado por completo, voltaria a executar a segunda fila. $i = 1; //Bloco 1 do { //Bloco 2 for($j=1; $j<=12; $j++){ } ++$i; } while ($i <= 12); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 11, 2016 Eu não estou conseguindo colocar aqui, vou mostrar como to fazendo olha <?php $sql = "SELECT * FROM clientes WHERE id = '$id'"; $query = mysql_query($sql); $mostrar = mysql_fetch_array($query); $limite = substr($mostrar["prest_carne"], 3, 5); $vencimento = substr($mostrar["vencimento_carne"], 3, 5); $vencimento_dia = substr($mostrar["vencimento_carne"], 0, 3); ?> <?php for ($n = 1; $n <= $limite; $n++) { $total = $vencimento + $n; ?> <table><tr><td> <?php echo $vencimento_dia . $total ;?> </td></tr></table> <?php }?> no caso como colocaria esse $i no código?? Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 11, 2016 Eu to testando assim e não deu certo olha <?php $sql = "SELECT * FROM clientes WHERE id = '$id'"; $query = mysql_query($sql); $mostrar = mysql_fetch_array($query); $limite = substr($mostrar["prest_carne"], 3, 5); $vencimento = substr($mostrar["vencimento_carne"], 3, 5); $vencimento_dia = substr($mostrar["vencimento_carne"], 0, 3); ?> <?php $n++; for ($n = 1; $n <= $limite; $n++) { $total = $vencimento + $n; ?> <table><tr><td> <?php echo $vencimento_dia . $total if($total > 12){ echo $total;} ;?> </td></tr></table> <?php }?> Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Setembro 11, 2016 Quer o código pronto?Analise a logica e quebre a cabeça você em seu programa! veja a lógica no Ideone funcionando https://ideone.com/Zr9SlE Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 11, 2016 Qual o seu real objetivo com isto tudo? Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 11, 2016 fazer com que o carnê gere todos os meses do ano, por exemplo, se eu estiver com 5 parcelas e tiver colocado q estou no mês 11 dai ele vai fazer 5 carnês um para cada mês, ai vai ficar 11, 12, 1, 2, 3, e por ai vai, vou postar aqui todo o código para vcs verem caso queiram ajudar, pq já estou a muito tempo nisso e to pra desistir, está marcado o lugar onde é pra acontecer a questão dos 12 meses <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <?php include("../conection/conection.php"); $id = $_GET["id"]; $sql = "SELECT * FROM clientes WHERE id = '$id'"; $query = mysql_query($sql); $mostrar = mysql_fetch_array($query); $limite = substr($mostrar["prest_carne"], 3, 5); $vencimento = substr($mostrar["vencimento_carne"], 3, 5); $vencimento_dia = substr($mostrar["vencimento_carne"], 0, 3); ?> <table width="100%" border="0" cellspacing="30" cellpadding="3"> <?php for ($n = 1; $n <= $limite; $n++) { $total = $vencimento + $n; ?><tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="3"> <tr> <td colspan="3" align="center"><img src="logo2.png"></td> </tr> <tr> <td align="left">Nome</td> <td> </td> <td> </td> </tr> <tr> <td colspan="3" align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["nome"];?></div></td> </tr> <tr> <td align="left">Prest.Nº</td> <td align="left">Contrato Nº</td> <td align="left">Vencimento</td> </tr> <tr> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $n . ""; echo "/" . $limite;?></div></td> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["contrato_carne"];?></div></td> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $vencimento_dia . $total ; if($total <= 13){ // aqui teria que voltar a contar do mês 1 } ?></div></td> </tr> <tr> <td align="left">Emissão</td> <td align="left">V. Prestação </td> <td align="left">Juros ao Dia</td> </tr> <tr> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["emissao_carne"];?></div></td> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["valor_carne"];?></div></td> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["juros_carne"];?></div></td> </tr> <tr> <td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="3"> <tr> <td width="50%" align="left">Código do Cliente</td> <td width="50%" align="left">Total</td> </tr> <tr> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["codigo_carne"];?></div></td> <td width="50%" align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["total_carne"];?></div></td> </tr> </table></td> </tr> <tr> <td colspan="3">Autenticação</td> </tr> <tr> <td colspan="3"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["autentica_carne"];?></div></td> </tr> </table></td> <td><table width="100%" border="0" cellspacing="0" cellpadding="3"> <tr> <td colspan="3" align="center"><img src="logo2.png"></td> </tr> <tr> <td align="left">Nome</td> <td> </td> <td> </td> </tr> <tr> <td colspan="3" align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["nome"];?></div></td> </tr> <tr> <td align="left">Prest.Nº</td> <td align="left">Contrato Nº</td> <td align="left">Vencimento</td> </tr> <tr> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $n . ""; echo "/" . $limite;?></div></td> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["contrato_carne"];?></div></td> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["vencimento_carne"];?></div></td> </tr> <tr> <td align="left">Emissão</td> <td align="left">V. Prestação </td> <td align="left">Juros ao Dia</td> </tr> <tr> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["emissao_carne"];?></div></td> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["valor_carne"];?></div></td> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["juros_carne"];?></div></td> </tr> <tr> <td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="3"> <tr> <td width="50%" align="left">Código do Cliente</td> <td width="50%" align="left">Total</td> </tr> <tr> <td align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["codigo_carne"];?></div></td> <td width="50%" align="left"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["total_carne"];?></div></td> </tr> </table></td> </tr> <tr> <td colspan="3">Autenticação</td> </tr> <tr> <td colspan="3"><div style="border:solid; border-width:1px; border-color:#000;"> <?php echo $mostrar["autentica_carne"];?></div></td> </tr> </table></td> </tr><?php }?> </table> Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 11, 2016 Então faça isso da forma simples: http://www.profissionaisdaweb.com.br/trabalhando-com-datas-no-php-adicionando-ou-subtraindo-dias-meses-anos-a-uma-data-57.jsp Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 11, 2016 to vendo aqui e não sei se tem como eu usar isso, a lógica q usei foi a seguinte, no formúlario eu digito o número de parcelas que vão ser feitas e a data, ai aqui quando eu gero o restultado, gera um while para mostrar a table com o mesmo número de parcelas q eu digitei, por exemplo se eu tiver digitado 5 parcelas irão aparecer 5 tables, e no mês de vencimento de cada parcela é onde está acontecendo o problema pq ele teria ser diferente em cada parcela Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Setembro 11, 2016 Complica demais para fazer uma pergunta simples. Agora entendi! <?php $parcela = 5; $date = new \DateTime(); //Bloco 2 for($i=1; $i<=$parcela; $i++){ echo "Parcela Nº {$i} \n"; echo "Vencimento : "; $interval = new \DateInterval("P1M"); $date->add($interval); echo $date->format('Y-m-d') . "\n"; } https://ideone.com/3WRduK Parcela Nº 1Vencimento : 11/10/2016Parcela Nº 2Vencimento : 11/11/2016Parcela Nº 3Vencimento : 11/12/2016Parcela Nº 4Vencimento : 11/01/2017Parcela Nº 5Vencimento : 11/02/2017 Senão souber colocar o HTML dentro ae também já é demais. Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 12, 2016 muito obrigado, quase funcionou tudo ok, só não ta dando certo pq na hora q coloco a variável $date q é data de vencimento pra ser igual a data q está no banco de dados da erro. Como posso fazer essa variável buscar a data do banco de dados?? Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 12, 2016 Entendi uma coisa aqui, tipo parece q tem como eu colocar $date = new \DateTime("20/01/2016"); mas não tem como eu colocar $date = new \DateTime($data_banco_dados); Agora lascou Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 12, 2016 Tchê, entenda uma coisa, para você aprender algo você tem que ter um embasamento prévio, por exemplo, lógica, algoritmos, tipos permitidos, tipos de datas aceitos e etc... Fica muito claro que a coisa meio que caiu no seu seu colo, pois mesmo te dando exemplos e até o código pronto você não está conseguindo, então vou te dar um conselho, aprenda a ler o manual: http://php.net/manual/pt_BR/datetime.construct.php Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Setembro 12, 2016 Desculpe eu cometi um erro aqui rsrs, mas finalmente deu certo, muito obrigado pela ajuda pessoal Compartilhar este post Link para o post Compartilhar em outros sites