Ir para conteúdo

POWERED BY:

Arquivado

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

Web 1

Inserir multiplos cadastros no banco MYSQL

Recommended Posts

Ola pessoa,

 

Tenho uma base no MYSQL assim

 

cliente

- CliId *

- CliNome

 

servico

- ServId **

- ServCliId *

- ServPreco

 

pagamento

- PagId

- PagCliId *

- PagServId **

- PagPrecoTotal

- PagPago

 

Ja tenho cadastrado todos os serviços em cada cliente, porém, todo mês eu cadastro os pagamentos dos clientes, certo.

 

Gostaria de uma seguinte rotina,

Como os pagamentos são mensais e já definidos em servico, como eu poderia em apenas poucos cliques inserir o pagamento de todos os clientes com o status Pago=Não.

Ao inves de passar de cliente por cliente todo mes inserindo o pagamento.

 

A intenção é inserir o pagamento com o status "PagPago=NAO" para que assim que for dando baixa no pagamento eu apenas coloco "PagPago=SIM"

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um loop na sua isntrução SQL INSERT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você cadastra o serviço no banco de dados a coluna PagPago vai com o valor NÃO ? Se for na minha cabeça na hora que vc esta cadastrando os dados no formulario basta você criar um

<select name="pagamento>
<option value="nao">Não</option>
<option value="sim">Sim</option>
</select>

e escolher se o pagamento já foi feito ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo que uso.

if qtd_produtos = "" thenResponse.write("erro..."response.redirect("outra_pagina.asp")elseqtd_produtos = split(Request.Form("qtd_produtos"),",")if qtd_produtos = ""produtos= Split(Request.Form("produtos"), ",")For i = 1 To Request.Form("produtos").CountResponse.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"SQL = "INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"

 

eu uso este exemplo:

 

 

if qtd_produtos = "" thenResponse.write("erro..."response.redirect("outra_pagina.asp")elseqtd_produtos = split(Request.Form("qtd_produtos"),",")if qtd_produtos = ""produtos= Split(Request.Form("produtos"), ",")For i = 1 To Request.Form("produtos").CountResponse.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"SQL = "INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente senti falta do campo data na tua tabela pagamento -- seria o caso de vc cria-lo para referenciar o mes em exercicio.

Depois vc utilizaria uma instrucao SQL para popular a tabela pagamento com os dados do mes anterior para o mes atual.

 

Ex. Insert into pagamento (PagCliId, PagServId, PagPrecoTotal, PagPago, PagData) select (

(pagamento.PagCliId, pagamento.PagServId, pagamento.PagPrecoTotal, 'NAO', '2013.03')
where pagamento.PagData = '2013.02'
* Estou considerando que PagId eh autoincremento

Compartilhar este post


Link para o post
Compartilhar em outros sites

é pegar o status Pago=Não e fazer um loop no INSERT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos la...

 

Eu tenho campos de data tudo certinho! só lancei a base com uma sintese de como esta meu banco.

 

Como posso fazer um loop pra que ele pegue todo o pagamento feito no mes anterior e cadastre como aprovado nao, a data pode vir a mesma, pois terei que editar o mesmo no momento de colocar PAGO = SIM

Compartilhar este post


Link para o post
Compartilhar em outros sites

a lógica da estrutura do loop é a mesma, terá que ter apenas sua SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uso no meu banco SGBD experimental seria assim:(Não serve em ASP hein !)

 

//(PagPago*) <-campo afetado ou alterado na tabela Pagamento usando o código da situação do pagamento

{
     Pagamento;    //Tabela que sera manipulada
     @subs;        //Comando para substituir dado
     (PagPago );   //Campo que sera usado na busca
     (NÃO);        //Dado que sera buscado
     (SIM);        //Dado que será posto no lugar
     (PagPago);    //Campo que será alterado (destino)
     query=4;      //Indice de campo de busca (o proprio PagPago)
     destino=4     //Indice de campo que será destino da aletração
}

//Pronto! tabela reescrita em frações de segundos

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo uma stored procedure....

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.