Ir para conteúdo

POWERED BY:

Arquivado

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

fabiosc80

For Next

Recommended Posts

Pessoal oque tem de errado nesse for next?

Tipo quando ele passa a primeira vez ele exibe os dados certos, na segunda vez ele perde o valor do SepararPreco mostra um numero maluco, ai na terceira mostra os dados certas e na quarta vez mostra errado denovo.

Ele mostra um certo e um errado, um certo e um errado

 

Não sei mais oque fazer.

 

Me ajudem por favor

 

<%        For intI = 0 To UBound(SepararQtda)%> <%=SepararQtda(intI)%> <%=SepararPreco(intI)%>Qtda: <%=SepararQtda(intI) * SepararPreco(intI)%><br> Produto: <%=SepararPro(intI)%><p> <% Next Total = 0For intI = 0 To UBound(SepararQtda)  Total = Total + SepararQtda(intI) * SepararPreco(intI)Next response.write total%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes experimenta tirar esses 2 for e colocar em 1 só:

 

<%        Total = 0For intI = 0 To UBound(SepararQtda)%> <%=SepararQtda(intI)%> <%=SepararPreco(intI)%>Qtda: <%=SepararQtda(intI) * SepararPreco(intI)%><br> Produto: <%=SepararPro(intI)%><p> <%  Total = Total + SepararQtda(intI) * SepararPreco(intI)Next response.write total%>
Depois experimenta mostrar todos os valores dos arrays SepararQtda e SepararPreco

For i = 0 to UBound(SepararQtda)response.write SepararQtda(i) & "<BR>"next
o mesmo para o SepararPreco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ultra,

 

Quando eu listei só isso aqui:

 

<%For i = 0 to UBound(SepararQtda)response.write SepararQtda(i) & "<BR>"next For io = 0 to UBound(SepararPreco)response.write SepararPreco(io) & "<BR>"next%>
Veio isso aqui

 

22363
o 2 é a quantidade

o 236 é o valor

mas e esse 3 oque é?????????????

 

 

 

Antes experimenta tirar esses 2 for e colocar em 1 só:

 

<%        Total = 0For intI = 0 To UBound(SepararQtda)%> <%=SepararQtda(intI)%> <%=SepararPreco(intI)%>Qtda: <%=SepararQtda(intI) * SepararPreco(intI)%><br> Produto: <%=SepararPro(intI)%><p> <%  Total = Total + SepararQtda(intI) * SepararPreco(intI)Next response.write total%>
Depois experimenta mostrar todos os valores dos arrays SepararQtda e SepararPreco

For i = 0 to UBound(SepararQtda)response.write SepararQtda(i) & "<BR>"next
o mesmo para o SepararPreco

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perai... tem coisa errada já. O SepararQtda e o SepararPreco devem ter o mesmo número de registros pro seu script funcionar. Tente esse código, vamos identificar quem é quem:

 

<%For i = 0 to UBound(SepararQtda)response.write SepararQtda(i) & "<BR>"nextresponse.write "<br>"For io = 0 to UBound(SepararQtda)response.write SepararPreco(io) & "<BR>"next%>
e me posta a resposta plz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na primeira compra veio isso aqui:3236onde 3 é a quantidade e 236 é o preçona segunda vez veio isso aqui ao eu comprar outro produto com uma quantidade de 2 unidades.322363 ta vendo ?ele ja embananou tudo e agora??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

To pegando sessions primeiro assim:

 

if Trim(Session("Codigo")) = "" then      Session("Codigo") = Request("Codigo")else      Session("Codigo") = Session("Codigo") & "," & Request("Codigo")End ifif Trim(Session("qtde_produto")) = "" then      Session("qtde_produto") = Request("Qtd")else      Session("qtde_produto") = Session("qtde_produto") & "," & Request("Qtd")End ifif Trim(Session("Preco")) = "" then      Session("Preco") = Request("Preco")else      Session("Preco") = Session("Preco") & "," & Request("Preco")End if
depois que recupero to dando um split pra cada um assim:

 

SepararPro = Split(Session("Codigo"), ",")SepararQtda = Split(Session("qtde_produto"), ",")SepararPreco = Split(Session("Preco"), ",")
e depois jogo os valores aqui:

 

<%        For intI = 0 To UBound(SepararQtda)%> Qtda: <%=SepararQtda(intI) * SepararPreco(intI)%><br> Produto: <%=SepararPro(intI)%><p> <% Next Total = 0For intI = 0 To UBound(SepararQtda)  Total = Total + SepararQtda(intI) * SepararPreco(intI)Next response.write total%>
alias do jeito que você falou pra eu ver la o codigo olha oque aconteceu ao fazer 4 compras.

 

3

2

4

5

 

236

3

125

2

 

se viu que ele ta pegando sempre a quantidade to ultimo e jogando pro preco em alguns?

 

 

 

É..... você vai ter q postar como você tá inserindo valores nessas arrays....

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

AAAAAAhhhhh acho q sei qual pode ser o problema. Ví o seu outro post, e acho q o valor dos seus produtos está dividido por vírgula. Se você mandar o Split dividir por vírgula, ele entenderá q um produto de valor "236,3" são 2 arrays, portanto dividirá em "263" e "3"Verifica o preço desse produto e vê se tem casa decimal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ultra esse produto é 236 mesmo

tem o outro que é 125,2

tentei comprar duas vezes o de 236 e deu o mesmo erro.

 

E agora?

 

AAAAAAhhhhh acho q sei qual pode ser o problema. Ví o seu outro post, e acho q o valor dos seus produtos está dividido por vírgula. Se você mandar o Split dividir por vírgula, ele entenderá q um produto de valor "236,3" são 2 arrays, portanto dividirá em "263" e "3"

 

Verifica o preço desse produto e vê se tem casa decimal

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muda os códigos:

 

if Trim(Session("Codigo")) = "" then     Session("Codigo") = Request("Codigo")else     Session("Codigo") = Session("Codigo") & "|" & Request("Codigo")End ifif Trim(Session("qtde_produto")) = "" then     Session("qtde_produto") = Request("Qtd")else     Session("qtde_produto") = Session("qtde_produto") & "|" & Request("Qtd")End ifif Trim(Session("Preco")) = "" then     Session("Preco") = Request("Preco")else     Session("Preco") = Session("Preco") & "|" & Request("Preco")End if

SepararPro = Split(Session("Codigo"), "|")SepararQtda = Split(Session("qtde_produto"), "|")SepararPreco = Split(Session("Preco"), "|")

e testa assim:

response.write "Número de registros de SepararPreco: "& Ubound(SepararPreco) & "<BR><BR>"For i = 0 to Ubound(SepararPreco)  response.write SepararPreco(i) & "<BR>"Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando ele for comprar o mesmo produto varias vezes faz a Session reservar em uma variavel tipo X(vamos supor) e o novo valor ele atribui a Session que fico vazia depois você Soma Soma com a X ejoga tudo em uma outra Session assim, assim a Session que quarda os valor e a variavel X sempre vão ficar vazia para receber novos valores. Acho que é isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ultra fiz isso que você falou antes de olhar o que você postou ai e deu certo valeu cara a unica diferença é que ao invés de usar "|" usei um "#"

 

cara agora é que vem o pior mandar esses dados por e-mail...tipo vou ter quando o cliente der um finalizar a compra (lembrando que ja vai estar listando um abaixo do outro agora como esta direitinho ali) preciso montar certinho na outra tela do e-mail o texto da descriçao. sabe como mando pra la? do jeito que esta aparecendo aqui?

 

Muda os códigos:

 

if Trim(Session("Codigo")) = "" then     Session("Codigo") = Request("Codigo")else     Session("Codigo") = Session("Codigo") & "|" & Request("Codigo")End ifif Trim(Session("qtde_produto")) = "" then     Session("qtde_produto") = Request("Qtd")else     Session("qtde_produto") = Session("qtde_produto") & "|" & Request("Qtd")End ifif Trim(Session("Preco")) = "" then     Session("Preco") = Request("Preco")else     Session("Preco") = Session("Preco") & "|" & Request("Preco")End if
SepararPro = Split(Session("Codigo"), "|")SepararQtda = Split(Session("qtde_produto"), "|")SepararPreco = Split(Session("Preco"), "|")
e testa assim:

response.write "Número de registros de SepararPreco: "& Ubound(SepararPreco) & "<BR><BR>"For i = 0 to Ubound(SepararPreco)  response.write SepararPreco(i) & "<BR>"Next

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim Explorer?

 

tipo aqui ta assim:

 

<%

For intI = 0 To UBound(SepararQtda)

%>

Qtda: <%=SepararQtda(intI) * SepararPreco(intI)%><br>

Produto: <%=SepararPro(intI)%><p>

<%

Next

 

Alias me da um toque...

 

Preciso ao invés de mostrar o código do produto (SepararPro(intI)) exibir o nome dele.

Como monto o select pra isso sendo que cada produto tem um código diferente vindo da session?

faz idéia?

 

 

 

Quando ele for comprar o mesmo produto varias vezes faz a Session reservar em uma variavel tipo X(vamos supor) e o novo valor ele atribui a Session que fico vazia depois você Soma Soma com a X ejoga tudo em uma outra Session assim, assim a Session que quarda os valor e a variavel X sempre vão ficar vazia para receber novos valores. Acho que é isso

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode abrir uma nova session, com a descrição do produto, mas eu não recomendo.É preferível que voce pegue esse código do produto e busque no BD a descrição. Tendo o código você pode buscar qualquer informação sobre esse produto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas eu faço isso depois do Split certo?

 

e abro um outro select certo?

 

você pode abrir uma nova session, com a descrição do produto, mas eu não recomendo.

 

É preferível que voce pegue esse código do produto e busque no BD a descrição. Tendo o código você pode buscar qualquer informação sobre esse produto.

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É, depois do Split. você pega o SepararPreco(i) e põe dentro de outro select. ex.:Set Rs = conexao.execute("Select nome from tabela onde id = "& SepararPreco(número))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso na descrição sim mais na parte de comprar o mesmo produto eu digo algo assim:Session("teste") = request("valor")X = Split(Session("teste"),1,-1)X = valor1X = valor2X = valor3X = XSession("total") = Xé tipo isso.. fui pela logica cara mais acho que da para ter uma ideia!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explorer...

 

Cara nao entendi muito bem nao..

 

tipo aqui só ta assim:

 

<%        For intI = 0 To UBound(SepararQtda)%>Quantidade: <%=SepararQtda(intI)%><br>Valor Unitário: <%=SepararPreco(intI)%><br>Valor: <%=SepararQtda(intI) * SepararPreco(intI)%><br> <%Sql5 = "SELECT NomedoProduto FROM Produtos WHERE Codigo="&SepararPro(intI)Set TB5 = BC.Execute(Sql5)%>Produto: <%=TB5("NomedoProduto")%><p> <% Next
eu teria que fazer uma verificação pra ver se o SepararPro(intI) esta vazio nao tinha?

 

 

Isso na descrição sim mais na parte de comprar o mesmo produto eu digo algo assim:

 

Session("teste") = request("valor")

 

X = Split(Session("teste"),1,-1)

 

X = valor1

X = valor2

X = valor3

X = X

Session("total") = X

 

é tipo isso.. fui pela logica cara mais acho que da para ter uma ideia!

<{POST_SNAPBACK}>

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.