Ir para conteúdo

POWERED BY:

Arquivado

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

rafa-martin

verificando quem está selecioando

Recommended Posts

pessoal, eu estou listando 10 registros que trago do banco. ao lado de cada registro eu coloco um checkbox. então se eu trago dez registros, vão aparecer 10 checkbox. eu claro todos terão o mesmo. então faço o seguuinte:meu selectwhile not rs.eof <input type="checkbox" name="liberarpai" id="liberarpai" value="<%=rs("id_forum")%>" > rs.movenextwnde na outra página eu faço esse isso para ver quem está ticado:liberarpai = request("liberarpai")varArray = split(liberarpai, ",")for i = 0 to ubound(varArray response.Write(varArray(i) & "<br>")nextaí me traz todos que eu tiquei. exemplo: dos 10 registros que eu trouxe, digamos que eu tiquei o 1, 3, 4 e 7então quando eu fizer esse for tem q trazer apenas os registros com os id's 1, 3, 4 e 7. eu sei q se eu voltar e desticar o 7, nessa outra página que faço o for, vai aparecer somente o 1, 2, 3 e 4.o problema é que preciso verificar quem está ticado ou não, porque eu preciso fazer um update na tabela. tenho que fazer isso:quem tiver ticado = 1 no campo da tabelaelse = 0 no campo da tabela.como faço isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi bem é isso

liberarpai = request("liberarpai")varArray = split(liberarpai, ",")for i = 0 to ubound(varArray)sql = "update tabela set campo = '"&valorCampo&"' where id = "&cint(vararray(i))&""con.execute(sql)next
no tópico pendurado de Dúvidas Frequentes tem algo sobre usar checkedbox, veja lá

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem várias formas de fazer isso.

 

Uma delas é dar um update em tudo com o valor 0 e depois dar um update com valor 1 nos campos selecionados, utilizando a cláusula where in (...).

 

OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que eu preciso é saber quais o checkbox que o usuário selecionou e também saber quais q não estão selecionados.pra saber quem está selecionado eu faço o for e mostro assim: vararray(i).eu preciso saber quais não estão selecionados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

RAFA-MARTIN, a resposta da sua dúvida ja foi postada aqui e em outros fóruns.

 

Creio que se o seu problema ainda não foi resolvido, por que você não consegue aplicar as soluções oferecidas ou não foi claro o suficiente na descrição do seu problema.

 

Sugiro que você se procure abordagens diferentes e analise melhor as respostas postadas, pois seu problema como foi exposto aqui, é bem simples e tenho certeza que mts membros que te ofereceram ajuda ja fizeram algo semelhante.

 

Consulte o tópico Dicas do fórum, como obter êxito na resposta de suas dúvidas, que será mto útil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um loop comparando os checkboxes com o request pra saber qual foi selecionado:

liberarpai = request("liberarpai")varArray = split(liberarpai, ",")a = 0For i = 1 To 10 Step 1 'Percorre todos os checkboxes   For j = 0 to UBound(varArray) 'Percorre os selecionados	  If (i = CLng(varArray(j))) Then 'Verifica se o checkbox atual foi selecionado		 a = 1	  End If   Next   If (a = 1) Then 'Se foi mostra selecionado	  Response.Write i & "= Selecionado" & vbCrLf & "<br />" & vbCrLf   Else 'Senao mostra nao selecionado	  Response.Write i & "= Não-selecionado" & vbCrLf & "<br />" & vbCrLf   End If   a = 0Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

então anderson:eu fiz e naum deu certo.eu tinha 2 selecionados e 1 não selecionado quando eu executei me trouxe isso:1= Não-selecionado 2= Não-selecionado 3= Não-selecionado 4= Não-selecionado 5= Não-selecionado 6= Não-selecionado 7= Não-selecionado 8= Não-selecionado 9= Não-selecionado 10= Não-selecionado na verdade na frente tem que mostrar o id 17 que não está selecionado e os id's 18 e 19 que estão selecionadosentendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesta linha:

For i = 1 To 10 Step 1 'Percorre todos os checkboxes
Você tem que adaptar conforme sua pagina, aqui ele vai do combo 1 até o combo 10 se for fora desse intervalo, ajuste de forma que fique no intervalo correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu adaptei para o meu só que continua trazendo, 1= Não-selecionado 2= Não-selecionado 3= Não-selecionado acho que ainda você naum entendeu meu problema.pra saber quem está selecinado eu faço o for assim:for i = 0 to ubound(varArray)response.Write(varArray(i)& "<br>")nexteu preciso saber como saber os id's que não estçao ticados. meu campo chekcbox eu monto assim:<input type="checkbox" name="liberarpai" id="liberarpai" value="<%=rs("id_forum")%>" >veja que o value está com o id da tabela.entendeu agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem várias formas de fazer isso.

 

Uma delas é dar um update em tudo com o valor 0 e depois dar um update com valor 1 nos campos selecionados, utilizando a cláusula where in (...).

Tentou pelo menos? Pq tenho certeza que funciona!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o array dos que etsão ticados eu já monto akifor i = 0 to ubound(varArray)response.Write(varArray(i)&amp; &quot;&lt;br&gt;&quot;)nextagora eu nao entendi essa comparação que você pediu.como eu vou compar o que eu tenho selecionado com o value do campo.só que tem uma coisa, quando faço esse for acima, ele me traz todos os id's q estão selecionados. portando se seu tiver 3 registros sendo que estão ticados o 2 e 3 então ele vai me mostrar somente o 2 e o 3. o 1 q não está ticado ele nem mostra. e o que eu quero mostrar os que não estão ticados, além dos que estão.vagner é claro q eu tentei.só que as soluções que você's estão me passando não estão funcionando.por isso estou postando, pra ver se acho uma solução.olha , serei mais claro ainda.no meu banco eu tenho uma coluna chamada id. está definido como int.então eu trago por exemplo 3 registros na página. os registros tem os id's 1, 2 e 3.digamos que eu selecione apenas o 1 e 2.aí na outra página eu faço aquele for. esse for tá pegando todos aqueles que estão ticados, que nesse caso é o 1 e 2.e o meu resultado eu quero assim:1 - selecionado2 - selecionado3 - não selecionado.só que estou conseguindo trazer os que estão selecionados. os que não estão não estou e é isso que eu quero.entenderam, agora? ficou claro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua dúvida já estava clara, você só precisa implementar o que te falei.

Dim codArray(), xx = 0while not rs.eofReDim Preserve codArray(x)%><input type="checkbox" name="liberarpai" id="liberarpai" value="<%=rs("id_forum")%>" ><%codArray(x) = rs("id_forum") 'Grava os id's no arrayrs.movenextx = x + 1wend
A outra parte:

liberarpai = request("liberarpai")varArray = split(liberarpai, ",")a = 0For i = 0 To x - 1 'Percorre todos os checkboxes, conforme os indices do array dos id's   For j = 0 to UBound(varArray) 'Percorre os selecionados	  If (CLng(codArray(i)) = CLng(varArray(j))) Then 'Verifica se o checkbox atual foi selecionado		 a = 1	  End If   Next   If (a = 1) Then 'Se foi mostra selecionado	  Response.Write i & "= Selecionado" & vbCrLf & "<br />" & vbCrLf   Else 'Senao mostra nao selecionado	  Response.Write i & "= Não-selecionado" & vbCrLf & "<br />" & vbCrLf   End If   a = 0Next
Testa aí.

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.