Jump to content


Photo

If + Do Loop


  • Faça o login para participar
2 replies to this topic

#1 % rAFAEL %

% rAFAEL %

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 29/09/2007, 00:03

Olá pessoal
Estou com a seguinte dúvida: Como antecipar um loop caso uma condição seja satisfeita?
segue o código: (pagina.asp)
Loop
ElseIf tabela = "" then
Response.Redirect("pagina.asp")
Else
tabela = Request.Cookies("nomecookie")("campo1_"&j)
codigo = Request.Cookies("nomecookie")("campo2_"&j)
SQL="SELECT titulo, arquivo, preco from "&tabela&" where codigo="&codigo
End If

SET RS=Con.Execute(SQL)
%>
_linenums:0'><% j = 1valor = 0Do until j = (i+1) tabela = Request.Cookies("nomecookie")("campo1_"&j) codigo = Request.Cookies("nomecookie")("campo2_"&j) If tabela = "removido" then j = j + 1 Loop ElseIf tabela = "" then Response.Redirect("pagina.asp") Else tabela = Request.Cookies("nomecookie")("campo1_"&j) codigo = Request.Cookies("nomecookie")("campo2_"&j) SQL="SELECT titulo, arquivo, preco from "&tabela&" where codigo="&codigo End If SET RS=Con.Execute(SQL)%>

meu problema nesse código é que me retorna um erro falando que falta um Do para o meu Loop...
Alguem poderia me ajudar nesse caso?
Desde já agradecido... abraço
Rafael

Edição feita por: % rAFAEL %, 29/09/2007, 00:04.


#2 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 29/09/2007, 13:00

Eaí rapaz!

seguinte, não entendi algumas coisas:

O que é o "i" que vc se refere no código? Não vi ele declarado em lugar nenhum.

Outra coisa, ao invés de usar:

j = 1
valor = 0

Do until j = (i+1)

tabela = Request.Cookies("nomecookie")("campo1_"&j)
codigo = Request.Cookies("nomecookie")("campo2_"&j)

If tabela = "removido" then
j = j + 1
Loop

Não deveria ser:

j = 1
valor = 0


tabela = Request.Cookies("nomecookie")("campo1_"&j)
codigo = Request.Cookies("nomecookie")("campo2_"&j)



If tabela = "removido" then
Do until j = (i+1)
j = j + 1
Loop

?

"Lendo" o código:

Se a tabela for igual a "removido" então faça um loop até j ser igual a (i + 1). Mas i não está declarado, então acho meio dificil isso dar certo.

Pra ser bem sincero eu não entendi o que tu quis dizer no teu código hehe

Dá uma explicada um pouco melhor sobre qual a função que tu quer nisso tudo que acho que facilita.

Edição feita por: Firehalk, 29/09/2007, 13:00.

BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#3 % rAFAEL %

% rAFAEL %

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 29/09/2007, 16:24

Eaí rapaz!

seguinte, não entendi algumas coisas:

O que é o "i" que vc se refere no código? Não vi ele declarado em lugar nenhum.

Outra coisa, ao invés de usar:

j = 1
valor = 0

Do until j = (i+1)

tabela = Request.Cookies("nomecookie")("campo1_"&j)
codigo = Request.Cookies("nomecookie")("campo2_"&j)

If tabela = "removido" then
j = j + 1
Loop

Não deveria ser:

j = 1
valor = 0


tabela = Request.Cookies("nomecookie")("campo1_"&j)
codigo = Request.Cookies("nomecookie")("campo2_"&j)



If tabela = "removido" then
Do until j = (i+1)
j = j + 1
Loop

?

"Lendo" o código:

Se a tabela for igual a "removido" então faça um loop até j ser igual a (i + 1). Mas i não está declarado, então acho meio dificil isso dar certo.

Pra ser bem sincero eu não entendi o que tu quis dizer no teu código hehe

Dá uma explicada um pouco melhor sobre qual a função que tu quer nisso tudo que acho que facilita.


Valeu a iniciativa e a tentativa Firehalk!

Esse "i" está declarado mais acima no código. Não está aqui mas foi declarado. É um contador. Ele conta qtos registros têm.

O que eu preciso é que a cada Loop seja verificado se o valor lido é igual a "removido" (tabela = Request.Cookies("nomecookie")("campo1_"&j)), pq se for já descarta e busca o próximo (j = j + 1 e "Loopa"), e se esse proximo também for, descarta e burca o proximo outra vez(j = j + 1 e Loopa outra vez).

Fazendo do jeito que vc aconselhou, a verificação se o valor lido é igual a "removido" (tabela = Request.Cookies("nomecookie")("campo1_"&j)) acontece antes do Loop e eu preciso que aconteça a cada Loop.

Consegui explicar? Qqr coisa pergunta outra vez! muito obrigado!
Rafael




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq