Ir para conteúdo

POWERED BY:

Arquivado

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

desisto

varrendo e comparando valor

Recommended Posts

opa

tenho um cmapo que recebe a forma de pagamento aceita pela empresa em forma de cartao de credito:

cartao1, cartao2, cartao3, cartao4

 

ai no banco grava assim:

cartao1, cartao3

apenas os aceitos

 

 

o problema é na hora de listar, nao to donseguindo fazer.

antes usava split pois o registro gavava assim: cartao1, x, cartao3, x

enato dava pra comparar 1 por 1 pela ordem

if (0) = cartao1

if (1) = cartao2

 

mas como agora mudou a forma nao to sabendo implementar esse sistema

eu posso informar os cartoes pra serem comparados com os do registro

 

os tipos - cartao1, cartao2, cartao3, cartao4

ai pegava o 1º cartao e comparava com os 4, depois o 2º cartao e comparava de novo

 

 

alguem pode dar uma ajuda?

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas isso para cada cliente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

s

tem uma coluna que recebe esse valor definido pelo cliente

aproveita e deleta o outro topico que criou duplicado sem querer :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou colar aqui oque escreví no outro topico

recebe = "cartao1, cartao2, cartao3, cartao4"
arrRecebe = Split(recebe, ",")

for x= 0 to uBound(arrRecebe)
  if arrRecebe(x) = "cartao1" then .......
  if arrRecebe(x) = "cartao2" then .......
  if arrRecebe(x) = "cartao3" then .......
  if arrRecebe(x) = "cartao4" then .......
Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcionou numa boa, tava tentando da forma mais complicada :)

 

tem como colocar pra fazer uma verificação com valores externos?

ao invez de if arrRecebe(x) = "cartao1" eu colocar uma variael com todos os cartos pra ele comparar

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem sim

 

se estes valores estiverem em um db por exemplo voce poe outro laço de repetiçao dentro do for que selecione e teste os valores

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao é so consultar mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz assim mas nao funcionou:

 

recebe = "1,2,3,4,5,6"

dados = "1,2,4,6"

arrRecebe = Split(recebe, ",")

arrDados = Split(dados, ",")

 

for x= 0 to uBound(arrRecebe)

if arrRecebe(x) = arrDados(x) then response.Write "s"

Next

 

 

mas da erro pq a ele compara o 1º de um com o 1º do outro

so funciona se tiver a mesma qtd da dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o "For" dentro de outro "For"..

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem tiozinho como foi dito voce precisa de dois laços

 

FOR x = 0 to uBound(arrRecebe)
	 FOR y = 0 to uBound(arrDados)
		  if arrRecebe(x) = arrDados(y) then response.Write "s"
	 NEXT
NEXT

veja se vai

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu pessoal

erro meu... depois eu coloquei os 2 loops e funciona numa boa

mas essa forma funciona 100% quando eu uso pra listar os cartoes aceitos

 

o outro caso eu ja tentei por if, ja tentei fazer ordem inversa mas nao consegui adaptar pro caso da edicao do anuncio...

o cara entra na conta e aparecem os dados pra alterar e as opcoes do cartao que ele aceita, os cartoes que estao marcados teriam que vir com <input type=""checkbox"" name=""cartao1"" value=""cartao1"" /> e os desmarcados com checkbox normal

 

de qq forma vcs ja quebraram um galhao

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

para ficar marcado voce precisa escrever o checked no checkbox

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei :)

so nao sei como fazer assim:

(X)cartao1

( )cartao2

( )cartao3

(X)cartao4

 

listar com o checkbox marcado quando tiver o cartao e deixar o checkbox desmarcado

isso é pro cara alterar a conta, se ele deixar de trabalhar ou comecar a trabalhar com outro cartao, ele vai e marca ou desmarca

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas vai ser mesma coisa praticamente

 

dentro daqueles loops voce monta o sql

 

os que forem iguais voce poe o checked e os que nao forem voce apenas cria sem marcar

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se eu colocar

 

if arrRecebe(x) = "cartao1" then

checked

else

nao checked

end if

 

ele vai repetir pq ta no loop

 

seria outra forma?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi o "vai repetir"

 

nao vai nao

 

a cada passagem será o proximo cartao e será testado se é pra marcar ou nao

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim...

ele confere valor por valor

 

1,2,3,4 - tipos de cartoes

x,y,z,w - cartoes aceitos pela empresa

 

no loop ele confere x com 1, depois x com 2, x com 3 e x com 4

depois passa pra y com 1, y com 2...

 

if arrRecebe(x) = "1" then

checked

else

nao checked

end if

 

cada comparacao é feita 4 vezes, esse mesmo if vai aparecer uma vez checked e 3 vezes nao checked

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

é verdade

 

entao tem de adaptar

 

em vez de escrever dentro do segundo loop nele apenas voce gera uma variavel booleana que irá se é para checar ou nao

 

quando sair do loop interno voce saberá se checa ou nao e escreve

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.