Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Julio Cavallari

Ajuda com cadastro de contas a pagar

Recommended Posts

Preciso fazer um código em php que cadastre no banco contas a pagar, até tudo bem, o problema é que se for mais de 1 parcela a ser paga, eu preciso que o código adicione essas parcelas uma a uma, como se fossem contas separadas.

 

Tentei fazer aqui com While, mas não está dando certo.

 

Segue o código

 

if(isset($nf) || isset($fornecedor) || isset($emissao) || isset($vencimento) || isset($valor) || isset($parcela) || isset($cfop))
{
$nf = $_POST['nf'];
$fornecedor = $_POST['fornecedor'];
$emissao = $_POST['emissao'];
$vencimento = $_POST['vencimento'];
$valor = $_POST['valor'];
$parcela = $_POST['parcela'];
$cfop = $_POST['cfop'];
$icms = $valor*0.18;
$i = 1;
$valorp = $valor/$parcela;
while($i <= $parcela)
{
mysql_query("INSERT INTO contas_a_pagar(num_nota,id_fornecedor,emissao,vencimento,valor,nparcela,parcelas,banco,cfop,icms,id_situacao)
values('$nf','$fornecedor','$emissao','$vencimento','$valorp','$i','$parcela','$cfop','$icms','1')");
$i++;
}
}
Preciso que o campo nparcelas no banco esteja com o numero da parcela a ser paga, por isso eu insiro a variavel $i nele, e no campo vencimento, preciso que a cada nova parcela o mês de vencimento seja aumentado em 1.
Obg.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei fazer aqui com While, mas não está dando certo.

Está retornando algum erro? Se sim qual é?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está retornando algum erro? Se sim qual é?

Não retorna nenhum erro, simplesmente não insere nada na tabela, a principio achei que fosse erro ao puxar os dados do formulario, mas o php puxa normal, e mesmo fora do if ele não insere

Compartilhar este post


Link para o post
Compartilhar em outros sites

F12 no navegador, no firefox 'Rede', localize sua classe ou pagina que esta tentando gravar click nela, ao lado ira mostrar cabeçalhos, resposta, e outros provavelmente ira mostrar algum erro..... ai vc vera o que esta acontecendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro veja se não existe um erro de sintaxe na consulta,

mysql_query("...")OR DIE(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui arrumar, estava mandando 10 valores para 11 campos;

 

Mas ainda tenho outra duvida, como fazer para que se aumente o mês em 1 a cada vez que ele entrar no while novamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso funciona com data puxada do banco?, pq no meu caso eu pego o primeiro vencimento de um input, e insiro no banco no primeiro while, só então que precisaria aumentar. E pelo que me parece isso só funciona com a função date.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso funciona com data puxada do banco?

E porque não funcionaria?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tô quebrando a cabeça pra tentar usar uma data que esteja em um variavel.

 

Tentei isso, mas ele retorna sempre o dia e o ano atual, o mês até mudou, mas o dia e o ano não é o que eu seleciono e sim o atual.

 

$vencimento = date_create($_POST['vencimento']);
$vencimento = date_format($vencimento, "d/m/Y");
$dv = explode("/", $vencimento);
$vencimento = date("Y/m/d", mktime(0, 0, 0, $dv[1] + 1) );
echo $vencimento;

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que eu me pergunto é, em pleno 2016, onde o google tudo sabe, como alguém ainda por "quebrar a cabeça".. bom, vamos evitar um AVC repentido, ai está a solução:

$data = '2016-05-09';
$data_nova = date('Y-m-d',strtotime('+2 months', strtotime($data)));
echo $data_nova;

Lembrando que a partir do PHP 5.3 você pode usar a DataTime.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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