Ir para conteúdo
Fórum Script Brasil
  • 0

Manipulando datas de vencimento e inserindo no BD


diego_dias

Pergunta

Srs. bom dia, 

 

Preciso muito de uma ajuda. 

Estou desenvolvendo uma aplicação que tem como objetivo inserir no meu banco de dados um número x de lançamentos, dentre eles algumas datas de vencimento com a adição de 1 mês (como se fossem parcelamentos mensais)

 

Pesquisei alguns scripts e adaptei de acordo com minha necessidade, porém não estou tendo êxito na insercação das datas no BD 

Quando rodo esse script, eu tenho um resultado satisfatorio, pois quando imprimo o resultado na tela, as datas saem da forma que eu espero :

<?php
 
$dataAtual = date('d-m-Y');
$timestamp = strtotime($dataAtual);
$parcelas = 10;
for($i = 1; $i <= $parcelas;$i++){
    echo date("d/m/Y", strtotime("+$i month", $timestamp));
}
?>

 

Agora quando tendo adaptar o INSERT não estou tendo sucesso

 

   $dataAtual = date('d-m-Y');
        $timestamp = strtotime($dataAtual);
        $parcelas = 2;
 
        for($i = 1; $i <= $parcelas;$i++){
        $data = date('d/m/Y', strtotime('+$i month', $timestamp));
        $ins = "INSERT INTO teste (data_vencimento, created) VALUES ('$data', NOW())";
         $resultado_usuario1 = mysqli_query($conn, $ins);
        }

 

Nesse comando eu até chego a registra os lancamentos no banco, porem a data de vencimento não está sendo adicionada da forma que eu imaginava. 

O que pode estar acontecendo ?

Essa é a forma com que as datas aparecem no meu BD, porem deveria ser acrescido 1 mes para cada linha a partir da quantidade de parcela que passo na variavel $parcelas 

image.png.a93ecaa1043bb5a7e60092a21f7d970f.png

 

Agradeço desde já 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
<?php
$mysqli=new mysqli("localhost","root","","astudy");
$data=new DateTime(Date('Y-m-d'));
$parcelas = 2;
for($i = 1; $i <= $parcelas;$i++){
	$data = $data->add(new DateInterval('P1M')); 
	$vcto=$data->format("Y-m-d");
	$query=$mysqli->query("insert into tbteste (vcto, created) values ('$vcto', NOW())");}
echo "os dados são gravados assim:";
$query=$mysqli->query("select * from tbteste");
while($row=$query->fetch_assoc()){
	echo "<br>".$row['vcto']." ".$row['created'];}
//resultado: 
//os dados são gravados assim:
//2022-09-13 00:00:00 2022-08-13 16:33:56
//2022-10-13 00:00:00 2022-08-13 16:33:56
//
//O MySQL não suporta o formato brasileiro
// o brasileiro não suporta o formato MySQL, nesse caso, o último comando deveria ser assim:
// echo "<br>".date('d/m/Y',$row['vcto'])." ".date('d/m/Y',$row['created']);

 

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, Frank K Hosaka disse:
<?php
$mysqli=new mysqli("localhost","root","","astudy");
$data=new DateTime(Date('Y-m-d'));
$parcelas = 2;
for($i = 1; $i <= $parcelas;$i++){
	$data = $data->add(new DateInterval('P1M')); 
	$vcto=$data->format("Y-m-d");
	$query=$mysqli->query("insert into tbteste (vcto, created) values ('$vcto', NOW())");}
echo "os dados são gravados assim:";
$query=$mysqli->query("select * from tbteste");
while($row=$query->fetch_assoc()){
	echo "<br>".$row['vcto']." ".$row['created'];}
//resultado: 
//os dados são gravados assim:
//2022-09-13 00:00:00 2022-08-13 16:33:56
//2022-10-13 00:00:00 2022-08-13 16:33:56
//
//O MySQL não suporta o formato brasileiro
// o brasileiro não suporta o formato MySQL, nesse caso, o último comando deveria ser assim:
// echo "<br>".date('d/m/Y',$row['vcto'])." ".date('d/m/Y',$row['created']);

 

Excelente !! Muito obrigado 

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...