Gerar parcelas

Gostaria de saber como faço para gerar parcelas a partir de um determinado numero (de parcelas) e após gerar gravar em uma tabela do BD.

que tal pegar o valor total e dividir pelo número de parcelas?
ou se tiver juros acrescentar o juros, a cada mes, ou coisa parecida. multiplicando o juros.

é preciso conhecer o sistema todo para mais ajuda.

Cria uma tabela separada só para as parcelas, nela vc salva as informações de cada parcela em uma linha separada.

[quote=raghy]que tal pegar o valor total e dividir pelo número de parcelas?
ou se tiver juros acrescentar o juros, a cada mes, ou coisa parecida. multiplicando o juros.

é preciso conhecer o sistema todo para mais ajuda.[/quote]

Obrigada!Vou seguir sua dica,depois se tiver mais alguma duvida,volto a perguntar ok?

:oops:Não entendi bem.Vou criar a tabela TB_parcelas e os campos será parcela1,parcela2,parcela3…estou confusa,por favor explique melhor.

um aviso: para dividir um valor em parcelas não basta simplesmente dividir o valor pela quantidade de parcelas…

para um valor de R$ 100,00 em 3 parcelas, como seria? 3 x R$ 33,33 ? e esse centavo que falta, o que fará com ele?

procure sobre classes para representar dinheiro, que algumas fornecem solução para este tipo de problema…

sobre a tabela, você não precisa criar um campo (coluna) para cada parcela, você irá criar um registro (linha):

num_parcela_____valor_parcela
___1________________33,33
___2________________33,33
___3________________33,33

Vc tem uma tabela com as informações de um Título a pagar, nessa tabela tem um código desse título, então vc cria uma tabela Parcela, então por exemplo vc tem o título 1 que tem 3 parcelas, ficará assim:

Tabela Titulo
cod   valor total   etc
  1       100,00
  2       300,00

Tabela Parcelas
cod   parcela    valor
  1        1        33,33
  1        2        33,33
  1        3        33,34
  2        1        100,00
  2        2        100,00
  2        3        100,00

Esse código 1 se refere a tabela Titulo, então quando o codigo da parcela for 1 vc sabe que pertence ao titulo 1, quando for 2 pertence ao titulo numero 2 e assim por diante. Espero que tenha entendido.

Vou tentar,Muito obrigada a todos pela atenção.Qualquer coisa venho incomoda los novamente. :stuck_out_tongue:

uma vez eu fiz um programa que tinha parcelas, o lha o create table…

[code]



----------------------------------------------+
| venda | CREATE TABLE venda (
codvenda int(11) NOT NULL auto_increment,
codcliente int(11) NOT NULL,
codcarro int(11) NOT NULL,
preco double NOT NULL,
entrada double NOT NULL,
numdeprestacoes int(11) NOT NULL,
valorprestacoes double NOT NULL,
parcelafinal double NOT NULL,
numeroparciais int(11) NOT NULL,
valorparciais double NOT NULL,
peridiocidade int(11) NOT NULL,
dataInclusaoVenda varchar(45) NOT NULL,
vendedor varchar(45) NOT NULL,
PRIMARY KEY (codvenda),
KEY codcarro (codcarro),
KEY codcliente (codcliente),
CONSTRAINT venda_ibfk_1 FOREIGN KEY (codcarro) REFERENCES carro (codcarro) ON UPDATE NO AC
TION,
CONSTRAINT venda_ibfk_2 FOREIGN KEY (codcliente) REFERENCES cliente (codcliente) ON UPDATE
NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|[/code]

foi meu primeito projetinho, data em varchar e tudo… hihi

vai o banco todo… aqui e o projeto no final. é um bom estudo, apesar de o sistema nao ser o mais eficiente, pois foi o primeiro, tem falhas, mas muita coisa a se aproveitar eu diria. até daria um bom novo tópico, para se estudar. fruto de um semestre de estudo pelo menos.

[code]
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.37-community-nt MySQL Community Edition (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> show databases
-> ;
±-------------------+
| Database |
±-------------------+
| information_schema |
| agenda_enderecos |
| agendaenderecos |
| agendaminha |
| andre |
| anuncios |
| apostilavicosa |
| bancoagenda |
| banda |
| bdjsp |
| bibliocd |
| blog |
| bookshop |
| cap7 |
| eletronico |
| empresa |
| estagio |
| estagio2 |
| estoque |
| estoque2 |
| ex_struts |
| exemplo_jpa |
| fotolog |
| fundacaoesag |
| livraria |
| livrodevisitas |
| livronovovisitas |
| livros |
| livrovisitas2 |
| locadora |
| mysql |
| new_db |
| new_db2 |
| newdb |
| novaconexao |
| novaunidade |
| novobancostruts |
| pi3 |
| pi3atual |
| pi3raghy |
| picarros |
| projetoartista |
| projetointegrador |
| projetointegrador3 |
| projetointegrador5 |
| projetointegrador6 |
| raghy |
| raghyb2 |
| rara |
| test |
| teste |
| teste2 |
| trabalhoguilherme |
±-------------------+
53 rows in set (4.22 sec)

mysql> use projetointegrador3;
Database changed
mysql> show tables;
±-----------------------------+
| Tables_in_projetointegrador3 |
±-----------------------------+
| carro |
| cliente |
| ordemservico |
| venda |
±-----------------------------+
4 rows in set (0.03 sec)

mysql> show create table carro;
±------±------------------------------------------------------------------------------------------



-------------------------------------------------------------------------------+
| Table | Create Table

                                                                           |

±------±------------------------------------------------------------------------------------------



-------------------------------------------------------------------------------+
| carro | CREATE TABLE carro (
codcarro int(11) NOT NULL auto_increment,
fabricante varchar(50) NOT NULL,
modelo varchar(50) NOT NULL,
cor varchar(45) NOT NULL,
ano varchar(4) NOT NULL,
preco double NOT NULL,
placa varchar(10) NOT NULL,
kilometragem varchar(15) NOT NULL,
combustivel varchar(50) NOT NULL,
datainclusaocarro varchar(45) default NULL,
PRIMARY KEY USING BTREE (codcarro,preco)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
±------±------------------------------------------------------------------------------------------



-------------------------------------------------------------------------------+
1 row in set (0.17 sec)

mysql> show create table venda;
±------±------------------------------------------------------------------------------------------







----------------------------------------------+
| Table | Create Table

                                          |

±------±------------------------------------------------------------------------------------------







----------------------------------------------+
| venda | CREATE TABLE venda (
codvenda int(11) NOT NULL auto_increment,
codcliente int(11) NOT NULL,
codcarro int(11) NOT NULL,
preco double NOT NULL,
entrada double NOT NULL,
numdeprestacoes int(11) NOT NULL,
valorprestacoes double NOT NULL,
parcelafinal double NOT NULL,
numeroparciais int(11) NOT NULL,
valorparciais double NOT NULL,
peridiocidade int(11) NOT NULL,
dataInclusaoVenda varchar(45) NOT NULL,
vendedor varchar(45) NOT NULL,
PRIMARY KEY (codvenda),
KEY codcarro (codcarro),
KEY codcliente (codcliente),
CONSTRAINT venda_ibfk_1 FOREIGN KEY (codcarro) REFERENCES carro (codcarro) ON UPDATE NO AC
TION,
CONSTRAINT venda_ibfk_2 FOREIGN KEY (codcliente) REFERENCES cliente (codcliente) ON UPDATE
NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
±------±------------------------------------------------------------------------------------------







----------------------------------------------+
1 row in set (0.06 sec)

mysql> show create table ordemservico;
±-------------±-----------------------------------------------------------------------------------


--------------------------------------+
| Table | Create Table

                                  |

±-------------±-----------------------------------------------------------------------------------


--------------------------------------+
| ordemservico | CREATE TABLE ordemservico (
idordemservico int(10) unsigned NOT NULL auto_increment,
dtabertura varchar(45) default NULL,
dtfechamento varchar(45) default NULL,
vlservico float default NULL,
cdstatus varchar(10) default NULL,
PRIMARY KEY (idordemservico)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
±-------------±-----------------------------------------------------------------------------------


--------------------------------------+
1 row in set (0.06 sec)

mysql> show create table cliente;
±--------±----------------------------------------------------------------------------------------



----------------------------------------------------------------------------------------+
| Table | Create Table

                                                                                    |

±--------±----------------------------------------------------------------------------------------



----------------------------------------------------------------------------------------+
| cliente | CREATE TABLE cliente (
codcliente int(11) NOT NULL auto_increment,
nome varchar(255) NOT NULL,
endereco varchar(255) NOT NULL,
cidade varchar(45) NOT NULL,
estado varchar(80) NOT NULL,
cep varchar(20) NOT NULL,
cpf varchar(25) NOT NULL,
rg varchar(25) NOT NULL,
fone varchar(30) NOT NULL,
celular varchar(30) NOT NULL,
dataInclusaoCliente varchar(45) NOT NULL,
PRIMARY KEY (codcliente)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
±--------±----------------------------------------------------------------------------------------



----------------------------------------------------------------------------------------+
1 row in set (0.06 sec)

mysql>[/code]

se este nao funcionar tenho outro que testei, mas tem 886 kb zipado.

espero ter ajudado.

sobre a divisao em 3 de 100, acho que um centavo, nao chega a ser tão grave, é até um pequeno desconto. mas não conheço classe de moeda
quais são ? prontas?

[quote=raghy]uma vez eu fiz um programa que tinha parcelas, o lha o create table…

[code]

sobre a divisao em 3 de 100, acho que um centavo, nao chega a ser tão grave, é até um pequeno desconto. mas não conheço classe de moeda
quais são ? prontas?

[/quote]

Cuidado! Este 1 centavo vai fazer muita diferença no fim do mês. Para contornar isso, uma das parcelas pode ficar com essa diferença de centavo a mais.

Com certeza seu projeto vai me ajudar,alias toda ajuda é bem vinda,por que agora quem está no primeiro projeto,fora do curso,sou eu…

legal, conseguiu abrir, funcionou. gerou o programa com banco de dados e tudo?

tambem tenho uma agenda aqui bem bacana, que tem o limpar tabelas por exemplo. se vc abriu, ve que ao gerar nova consulta, os dados ficam fora da vista, pois estão alem .

?? e o seu programa andou?

Olá,

Abri sim mas não gerei o banco ainda,estou baixando o mysql,é que tb estou sem tempo,mas olhano o código fonte já ajuda.

Obrigada!!!