Ir para conteúdo

POWERED BY:

Arquivado

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

~Thiago Lara

Marcar campo de SELECT múltiplo vindos do BD

Recommended Posts

A dúvida é bem boba mesmo, mas já tentei bastante coisa e não obtive muito resultado não, tenho uma página onde o usuário pode Editar suas informações em um SELECT MÚLTIPLO daqueles que se pode selecionar vários valores.

 

De fato esses valores vem de uma tabela auxiliar no Banco de Dados tipo assim:

 

TABELA GÊNEROS

Ação

Terror

Comédia

Drama

 

 

Vamos supor que o usuário marcou que gosta de Ação e Drama, daí seu campo no Banco de Dados chamado genero ficaria com esses valores 'Ação, Drama'

 

Como eu faço para quando ele for editar essas informações elas já estejam marcadas?

 

esse é meu código

 

          <select name="genero" size="8" multiple="multiple" id="genero">
		  <%
		  While Not RS_Atuacao.Eof
		  Response.Write "<option value="""&RS_Atuacao("genero")&""">"&RS_Atuacao("genero")&"</option>"
		  RS_Atuacao.Movenext
		  Wend
		  %>
          </select>

De fato já pensei em um IF ae no meio, mas não adianta o valor sempre vai ser subtituído pelo próximo registro,

sinceramente não sei como fazer

 

alguém poderia ajudar?

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Supondo que a informação venha do banco assim "ação, drama", a primeira coisa a fazer é um split.

Depois disso, compare o valor da array com os checkbox que estão sendo criados, ai é só fazer um if, + - assim:

if checkarr="ação" then

response.write "<input type='checkbox' name='acao' checked='true'> Ação"

else

response.write "<input type='checkbox' name='acao' checked='false'> Ação"

end if

 

Mais ou menos isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha aqui também , pode ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim,

desse jeito eu entendi, e já até fiz algumas vezes, o problema é que esses campos veem dinamicamente do Banco de Dados saca? Não tem como eu fazer um IF de cada vez como nesses exemplos que vocês deram...

 

aí que tá minha dúvida Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Banco de Dados chamado genero ficaria com esses valores 'Ação, Drama'

deixa ver se entendi... você grava numa so tabela todos os generos escolhidos?

 

GeneroMembroação, drama, terror, comédia
sua tbl fica assim?

 

se for isso, você esta fazendo de forma errada Imagem Postada

 

o Patrique teve a mesma pergunta e a forma de gambiarrar 'arrumar' isso dai é so fazendo um loop em cada retorno

 

você retorna o RS_Atuacao("genero"), mete um ubound e um split pra contar as virgulas

 

 

 

 

seria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não não,

tipo assim, eu tenho uma tabela auxiliar que guardo os gêneros existentes (sem o usuário ter escolhido ainda) tipo assim:

 

Nome da tabela: GENEROS

Campos: id, genero

 

Nessa tabela eu tenho todos os generos cadastrados.

 

Quando o usuário cadastra, eu tenho um campo na tabela de USUARIOS chamado GENERO e nele as informações vem de acordo com o que ele marcou tipo assim: Ação, Terror, Comédia

 

Até aí tranquilo.

 

O problema é que quando ele vai editar essas informações, eu faço um LOOP e busco na tabela GENEROS os generos cadastrados, a partir dai eu faço uma pesquisa na tabela de USUARIOS para ver se o cara selecionou algum gênero, se SIM teoricamente ele teria que ficar marcado da forma que eu mostrei no código sacou?

 

Meio tenso explicar rs

 

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta usando ID do genero pra salvar na opção do usuario?

 

 

 

 

ja pensou em fazer uando ajax?

 

não querendo mudar o seus istema, mas fica mais dinamico e é de facil ação, ja que vai fazer 1x1 (click a clique)

Compartilhar este post


Link para o post
Compartilhar em outros sites

É,

não pensei na possibilidade de usar ajax não,

 

não, estou salvando normalmente mesmo em um unico campo chamado GENERO na tabela de USUARIOS,

alguns ficam assim:

 

Ação, Terror, Suspense

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou salvando normalmente mesmo em um unico campo chamado GENERO na tabela de USUARIOS,

alguns ficam assim:

Ação, Terror, Suspense

 

e é nesse campo da tbl que você esta com o problema?

 

acho que sua solução é usar um split + ubound

 

essa não é a forma de se guardar esses valores, fica complicado d+ fazer update dos dados, ainda mais fora de ordem

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for guardar tudo numa tbl apenas, no minimo você deve usar a ID do genero

 

tbl_genero_membro

 

1,3,15

 

 

 

 

tbl_generos

 

1=terror

 

3=comedia

 

15=romance

 

 

 

 

na hora de comparar as informações, é melhor fazer com campos numericos

 

eu faria o seguinte, teria ma tabela com os generos e com o id do membro em cada coluna

 

tbl_genero

 

terror | comedia | ação

 

137    |                | 137

 

148    |     148     |

 

 

 

 

deu pra entender esse 'grafico'?

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.