0

loop para somar datas mensais e incluir no banco de dados

criado por Jair Soares em 07/09/2011 1:17pm
bom tarde para todos
como seria possível fazer um inserção no banco de dados
com loop para datas.

exemplo

compras parcelas, você divide um compra em 6 parcelas, ai quero cadastrar no meu banco de dados as datas do vencimento com os valores

abaixo o código que to tentando realiza mais não funciona
<?php
//Abrir o banco de dados
include "db_conexao.php";

//Recuperar as informações do Formulario
$codcartao = $_POST['codcartao'];
$nparcelas = $_POST['nparcelas'];
$valor = $_POST['valor'];
$datavenc = $_POST['datavenc'];
$valorparc = $valor/$nparcelas;
$hoje = $_POST['datacad'];

// Loop para somar a data.

for($p = 1; $p < $nparcelas + 1; $p++) {
$soma = $p;
$vencimento = strtotime("$datavenc+$soma month");
echo $codcartao . " - " . $hoje . " - " . $valor . " - " . $nparcelas . " - " . $p . " - " . $valorparc . " - " . date("Y-m-d", $vencimento) . "<br />";

//inserir os dados no banco de dados
$sql = "INSERT INTO cartao ";
$sql = $sql . "(codcartao,nparcelas,valor,datavenc,valorparc,datacad,qtd)";
$sql = $sql . "VALUES('$codcartao','$p','$valor','$datavenc','$valorparc','$hoje','nparcela')";
mysql_query($sql,$conexao);
}
?>
não consigo inserir os dados nem fazer o loop
mais o loop esta funcionado

ajuuuuuuuuuuuuuuuda por favor.

Lista de Respostas:

0
09/09/2011 1:21pm
(~10 anos atrás)
BOZO respondeu:
use mktime para somar tempo na data...

ex:

$d = date("d");//Pega dia atual
$m = date("m");//Pega mes atual
$y = date("Y");//Pega ano atual

foreach($n=0; $n<6; $n++)
{
echo ($n+1) . " parcela em: " . date("M-d-Y", mktime(0, 0, 0, $m+$n, $d, $y)) . "<br>";
}


espero ter ajudado



0
10/09/2011 11:58pm
(~10 anos atrás)
Alexandre Montello respondeu:
Você pode usar mktime.

Mas eu faria um pouco diferente, apenas guardaria a quantidade de parcela e a data de vencimento.
Criaria uma rotina, função em php que quando precisasse mostrar as datas ele calcularia pra você.

Abraços
<a href='http://www.alexmontello.com.br&#039;> Alexandre Montello </a>

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)