Ir para conteúdo

POWERED BY:

Arquivado

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

webfuture

Problemas com checkbox + valores gravados em banco de dados

Recommended Posts

Galera, estou com um probleminha aqui, estou montando um sistema onde o usuário pode marcar quantas opções quiser de um campo, exemplo:No campo souassim, tenho as seguintes opções:divertidoloucoburroespertodoidoCada campo (checkbox) tem o nome souassim somente mudando o value para 1, 2,3,4,5,6 quando ele manda gravar eu gravo por exemplo 1, 4,7,8 no banco de dados no campo souassim, agora por exemplo na hora de mostrar as opções que o usuário selecionou na página estou quebrando a cabeça, como fazer para ele pegar este valor do banco de dados separado por virgulas, quebrar e fazer os ifs tipo se souassim = 1 ele checa a primeira opção, se souassim = 20 ele marca a opção e assim por diante? alguém tem alguma ideia? WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não sei se é a melhor opção, mas eu faria assim:

 

SOUASSIM = "," & Rs("souassim") & ","If SOUASSIM In(",1,") then  DIVERTIDO = "selected"End ifIf SOUASSIM In(",2,") then  LOUCO = "selected"End ifEtc...

Fiz com as vírgulas, senão podia dar confusão, por exemplo, 1 com 10, 2 com 20....

 

Espero que ajude!

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce pode quebrar os valores com SPLIT eautomaticamente ficaria tudo num array ai seria apenas varrer este array para ver o que é para marcar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mario, tentei fazer mas não consegui, não sei onde estou errando, acredito que seja algo simples, agora fiz diferente, criei uma tabela com os campos:

 

id = auto numerico

opcao = nome da opção

valor = numerico para cada opção

 

Ai faço um select deste banco e monto os campos checkbox e dentro desse loop faço a verificação para aparecer checado ou não, mas não ta rolando, ele não deixa marcado.

 

Olha o código:

 

<TABLE ALIGN="CENTER"><TR><TD></TD><TD><TABLE><%Set RsListaOpcoes = Server.CreateObject("AdoDB.Recordset")RsListaOpcoes.open "Select id, opcao, valor from TB_Souassim", conexaoSQLwhile not RsListaOpcoes.EOFid = RsListaOpcoes.Fields("id")opcao = RsListaOpcoes.Fields("opcao")valor = RsListaOpcoes.Fields("valor")x = x + 1if x = 13 or x = 25 thenResponse.Write "</TABLE></TD><TD WIDTH=10></TD><TD><TABLE>"End if%><TR><TD><TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2" BORDERCOLOR="#000000"><TR><TD><%For i = 1 To Int(UBound(Split(souassim, ",")) + 1)With Responseif trim((Split(souassim,",")(i-1))) = trim(RsListaOpcoes.Fields("valor")) then%><INPUT TYPE="CHECKBOX" NAME="souassim" CHECKED VALUE="<%Response.Write valor%>"><%ELSE><INPUT TYPE="CHECKBOX" NAME="souassim" VALUE="<%Response.Write valor%>"><%END IFEnd WithNext%></TD><TD CLASS="CADASTRO" WIDTH="100%"><%Response.Write opcao%></TD></TR></TABLE></TD></TR><%RsListaOpcoes.movenextwendRsListaOpcoes.closeset RsListaOpcoes = nothing%></TABLE>

O souassim geralmente esta assim: 1,2,4,7,10,25,7 com numeros separados por virgula.

 

WebFuture

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.