Ir para conteúdo

POWERED BY:

Arquivado

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

filipecrosk

Trabalhar com array

Recommended Posts

Ola galera...

 

tô com uma duvida que deve ser simples.. mas estou meio perdido.. e nem sei como procurar isso..

 

mas é o seguinte...

 

Na hora do cadastro eu tenho um campo de LISTA onde pode ser escolhido mais de uma opcao.. ai eu salvo assim no banco

 

Conteudo = 1,2,3,4

 

Mas depois quero listar isso...

*Cada numero ai é o ID de um cadastro

tipo isso:

ASP

[*]objconn.execute("Select * from TABELA where id = "&conteudo&";")

e ai como faco isso??? porque tenho que separar os dados.. e pegar as informacoes do primeiro... mostrar... depois pegar do segundo... mostrar.. e assim por diante...

 

é trabalhar com array e for each acho eu ne?! mas nunca mechi com isso..

 

se alguem puder dar uma ideia.. valeus!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi direito você pode usar o IN no lugar do "=" na sua SQL.

 

Mas explique melhor para que possamos dizer com certeza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o IN mesmo e não esqueça os parenteses

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei montar aqui com IN mas não deu certo não...vamos la.. acho que minha explicação ficou meio vaga ne?!olha.. tenho salvo no cadastro de um usuario que ele faz parte de alguns grupos.. ai estou salvando no cadastro do usuario um campo, ID_grupos (Campo Texto), ai estou salvando assim:12-13-14-ai quero buscar e mostrar quais grupos são esses... deu para entender???se não tiver falae que vou postar aqui o que ja fiz..valeus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se é +/- isso:

Select * From Categorias, Usuario Where Categorias.id In (Usuarios.IdCat);

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes usa um replace12-13-14-pra trocar os - por virgula que funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isso aqui... id_turmas = replace(session("turma"),"-",",") rs.open "Select * from turmas where id IN "&id_turmas&";", objconn,3,3mas ai deu erro:Operador In sem () na expressão de consulta 'id IN 12,13,14,'.deve ser porque ta sobrando uma virgula no final não?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se está sobrando a "," retire pegando com LEFT e está faltando "(" e ")" na SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o IN mesmo e não esqueça os parenteses

foi o que disse lá em cima

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não ta dando certo... veja o que estou fazendo?

ASP

[*]Conectar

 

[*] set rs server.createobject("Adodb.Recordset")

 

[*] id_turmas replace(session("turma"),"-",",")

 

[*] rs.open "Select * from turmas where id IN "&id_turmas&";", objconn,3,3

 

[*] if rs.eof then

 

[*] response.write "não encontramos turmas"

 

[*] else

 

[*] while not rs.eof

 

[*] response.write rs("nome")

 

[*] rs.movenext

 

[*] wend

 

[*] end if

 

[*]

 

[*]rs.close

 

[*]Desconectar

 

Ai no "id_turmas" esta vindo os numeros das turmas divididos por virgula, exemplo:

12,13,45,98,

so que quando eu salvo eu estou salvando o numero da turma & ","

ai sempre vai sobrar essa ultima virgula...

 

pelo exemplo que o Salgado deu aqui

Select * From Categorias, Usuario Where Categorias.id In (Usuarios.IdCat);

 

é diferente do que eu estou fazendo... acho que o IN não se aplica a esse jeito que tô fazendo ou tem como??

 

Valeus!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem sim amigo mas la em cima continua sem os parenteses

Compartilhar este post


Link para o post
Compartilhar em outros sites

São formas diferentes.

Pelo exemplo do mário:

ASP
  1. Conectar
     
  2.  set rs server.createobject("Adodb.Recordset")
     
  3.  id_turmas Left(Replace(session("turma"),"-",","),Len(Session("turma")-1)
     
  4.  rs.open "Select * from turmas where id IN ("& id_turmas &");", objconn,3,3
     
  5.  if rs.eof then
     
  6. response.write "não encontramos turmas"
     
  7.  else
     
  8. while not rs.eof
     
  9.  response.write rs("nome")
     
  10.  rs.movenext
     
  11. wend
     
  12.  end if
     
  13. rs.close
     
  14. Desconectar

A forma que passei estaria levando em conta que o campo estivesse usando "," ao invéz de "-" e sem essa "," a mais(mas creio ser possivel fazer usando Left e replace na SQL).

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah so uma ultima coisa.. para matar isso..hehehepara que serve esse "IN" ???posso usar ele quando e para que??se possivel tirar essa duvida.. valeus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Salgado e Marioufpa

 

foi ignorancia minha... esqueci do parenteses.hehehe

 

brigadaoooooo

ok então http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah so uma ultima coisa.. para matar isso..hehehe

 

para que serve esse "IN" ???

 

posso usar ele quando e para que??

 

se possivel tirar essa duvida.. valeus

de um split para separar os códigos !!

não faça isso não

 

o IN serve justamente pra facilitar a seleção de varios registros a partir de uma condição em comum

 

 

ou seja em vez de dizer selecione quando id = a ou id igual a b ou...

 

apenas use id IN('a','b','c')

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.