Logo Hardware.com.br
rhumberto
rhumberto Membro Senior Registrado
360 Mensagens 6 Curtidas

Parcelamento PHP/MySQL

#1 Por rhumberto 21/05/2013 - 22:27
Boa noite prezados,

preciso de uma ajuda no seguinte problema:

Estou montando uma página em que quero cadastrar uma conta e fazer ela ficar parcelada. Ex.

Nova conta
Descrição: Máquina digital
Vencimento: 21/05/2013
Valor da parcela: R$15,00
Qntd de parcelas: 3
Cadastrar

Quero que vá para o bd.sql os seguintes dados:

id 1 | descrição Maquina digital | vencimento 21/05/2013 | valor R$15,00
id 2 | descrição Maquina digital | vencimento 21/06/2013 | valor R$15,00
id 3 | descrição Maquina digital | vencimento 21/07/2013 | valor R$15,00

no caso cada parcela um novo registro porém só alterada os vencimentos. Isso é muito complicado de fazer? É possível fazer?

Grato desde já.
Responder
marcos andrade22
marcos andra... General de Pijama Registrado
3.6K Mensagens 333 Curtidas
#2 Por marcos andra...
22/05/2013 - 01:49
Vamos ver se a esta hora sai alguma coisa boa:

<?php
// recebe os valores para inserir e armazena na variavel
//isso voce decide como vai ser
$numero parcelas = 3;

$data_venda = $cck->get('demissao')->value;
$partes = explode("/",$data_saida);
$dia = $partes[0];
$mes = $partes[1];
$ano = $partes[2];

$parcela = 0


while($parcela <= 3) {
$data = $dia.'/'.$mes.'/'.$ano;
$sqlinsert ="INSERT INTO parcelamento ( ticket, parcela, descricao, vencimento, valor ) VALUES ( '$ticket', '$parcela', '$descricao' , '$data' , '$valor' )";
mysql_query($sqlinsert) or die;
$parcela++;
$mes++;

}
?>
Tem muito o que melhorar principalmente na data, mas a esta hora te meio ruim de pensar, testa ai e posta o resultado.
rhumberto
rhumberto Membro Senior Registrado
360 Mensagens 6 Curtidas
#3 Por rhumberto
22/05/2013 - 20:14
marcos andrade22 disse:
Vamos ver se a esta hora sai alguma coisa boa:

<?php
// recebe os valores para inserir e armazena na variavel
//isso voce decide como vai ser
$numero parcelas = 3;

$data_venda = $cck->get('demissao')->value;
$partes = explode("/",$data_saida);
$dia = $partes[0];
$mes = $partes[1];
$ano = $partes[2];

$parcela = 0


while($parcela <= 3) {
$data = $dia.'/'.$mes.'/'.$ano;
$sqlinsert ="INSERT INTO parcelamento ( ticket, parcela, descricao, vencimento, valor ) VALUES ( '$ticket', '$parcela', '$descricao' , '$data' , '$valor' )";
mysql_query($sqlinsert) or die;
$parcela++;
$mes++;

}
?>
Tem muito o que melhorar principalmente na data, mas a esta hora te meio ruim de pensar, testa ai e posta o resultado.


Poxaa, provável que é o que eu quero mesmo.
Mas sou beeem leigo em PHP, pode me dar um esclarecimento mais detalhado?

Gratooo desde já.
Att,

Humberto R. Soares Filho
CEO
HRSoares IT Services
marcos andrade22
marcos andra... General de Pijama Registrado
3.6K Mensagens 333 Curtidas
#4 Por marcos andra...
22/05/2013 - 21:38
rhumberto disse:
Poxaa, provável que é o que eu quero mesmo.
Mas sou beeem leigo em PHP, pode me dar um esclarecimento mais detalhado?

Gratooo desde já.

Rapaz eu não testei este código, escrevi com bastante sono até.

Mas você precisa ver como vai passar os dados para o php, o mais provável é via post por formulário, dai você pega estas variáveis no php e tenta este código que eu postei
<?php
// pega os valores do formulário e armazena em variaveis
$descricao = $_POST['descicao'];
$valortotal = $_POST['valor'];
$ticket = $_POST['ticket'];
$numero_parcelas = $_POST['parcelas'];


// divide a data da venda por partes
$data_venda = $_POST['data_venda'];
$partes = explode("/",$data_venda);
$dia = $partes[0];
$mes = $partes[1];
$ano = $partes[2];

// divide o valor pelo numero de parcelas
$valor_parcela = $valortotal/$numero_parcelas;

// seta a variavel parcela em 0
$parcela = 0

// começa um loop de gravação

while($parcela <= 3) {// enquanto parcela for menor ou igual a 3 executar

// realiza a gravação no banco de dados
$data = $dia.'/'.$mes.'/'.$ano;// iguala a data a data da venda
$sqlinsert ="INSERT INTO parcelamento ( ticket, parcela, descricao, vencimento, valor, parcela ) VALUES ( '$ticket', '$parcela', '$descricao' , '$data' , '$valor_total' , '$valor_parcela' )";
mysql_query($sqlinsert) or die;

$parcela++;// adiciona +1 a variavel parcela
$mes++; // adiciona +1 a variavel mes

}
rhumberto
rhumberto Membro Senior Registrado
360 Mensagens 6 Curtidas
#5 Por rhumberto
31/05/2013 - 00:32
Boa noite amigo,

consegui fazer, era bem isso que eu queria mesmo, porém, como sou bem leigo nisso está ocorrendo os seguintes problemas,

No Mês ele não zera no 12, continua além disso, revirei o Google e não tive êxito. Outra coisa que está acontecendo também é while ($parcelas<=3) pois ele adiciona somente 3 registros ao BD e não a quantidade definida no campo Parcelas($parcelas), troquei o 3 pela variável $parcelas, porém fica com loop infinito. E a última é que o ano também não muda, queria que adicionasse +1 a cada vez que o mes voltar para 1, se é que me intende.
Fico a disposição para esclarecimentos.
Até este momento fico grato pela atenção e compreensão.
Att,

Humberto R. Soares Filho
CEO
HRSoares IT Services
marcos andrade22
marcos andra... General de Pijama Registrado
3.6K Mensagens 333 Curtidas
#6 Por marcos andra...
31/05/2013 - 00:58
Tenta isso

<?php
// pega os valores do formulário e armazena em variaveis
$descricao = $_POST['descicao'];
$valortotal = $_POST['valor'];
$ticket = $_POST['ticket'];
$numero_parcelas = $_POST['parcelas'];


// divide a data da venda por partes
$data_venda = $_POST['data_venda'];
$partes = explode("/",$data_venda);
$dia = $partes[0];
$mes = $partes[1];
$ano = $partes[2];

// divide o valor pelo numero de parcelas
$valor_parcela = $valortotal/$numero_parcelas;

$parcela = 1;

// começa um loop de gravação

while($numero_parcelas >= 0) {// enquanto parcela for menor ou igual a 3 executar

// realiza a gravação no banco de dados
$data = $dia.'/'.$mes.'/'.$ano;// iguala a data a data da venda
$sqlinsert ="INSERT INTO parcelamento ( ticket, parcela, descricao, vencimento, valor, parcela ) VALUES ( '$ticket', '$parcela', '$descricao' , '$data' , '$valor_total' , '$valor_parcela' )";
mysql_query($sqlinsert) or die;

$parcela++
$numero_parcelas-1// subtrai 1 a variavel parcela
if ($mes<=12){
$mes++; // adiciona +1 a variavel mes
else{
$mes = 1;
$ano++;}

}?>
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal