Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos Moreira

Selecionar checkboxs

Recommended Posts

Pessoal seguinte.

 

Eu tenho as tabelas PRODUTOS e CORES.

 

no campo cores da tabela PRODUTOS eu gravo os ID's separados por "," da tabela CORES

ex: 3,7,10

 

Agora estou fazendo a parte que edita o produto.

 

Eu gostaria que quando requisitasse a edição de determinado produto ele listasse os check boxs das cores e selecionasse os que estão cadastrados...

 

COMO FAÇO isso?

 

Eu tenho um aqui mas lista apenas os cadastrados. Gostaria que listasse todas as cores e selecionasse somente os cadastrados.

 

<%
cores= RS("cores")
If cores <> "" Then
arrayCores= split(RS("cores"),",")
for i=0 to ubound(arrayCores)

Set RScores = Server.CreateObject("ADODB.Recordset") 
msql = "SELECT * FROM cores where id="&cint(arrayCores(i))&" "
Set RScores.activeconnection = Conn 'Verifica se tem registro, se nao tiver exibe que não tem
RScores.Open msql, Conn,3,3

If Not RScores.eof then
'coresid=RScores("id")
cores=RScores("cor")
%>

<input name="cores<%=RScores("id")%>" type="checkbox" value="<%=RScores("id")%>" <%If RS("cores")<> false then%>checked<%end if%>>
<%=cores%><br>

<%
End If
Next
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem algumas possibilidades:

1ª - Selecionar na tabela de cores as cores que já estão em seu produto, usando a cláusula IN em sua SQL e depois selecionar aqueles que não estão, usando o NOT IN na SQL.

2ª - Selecionar na tabela de cores todas a cores, selecionar na tabela de produtos as cores que ele possui, e durante a montagem varrer o array do produto para verificar se a cor do "passo" esteja nele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera ateh entendi a lógica do Salgado

 

In e Not In consegui fazer

 

Mas agora nao sei listar tudo da tabela cores e selecionar apenas o que esta cadastrado no produto.

 

Alguem ai saberia montar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi completamente seu problema com as cores

 

onde e para que isso é armazenado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Carlos, os dados que estão no RS da SQL com IN são os que estão em seu produto, então você já pode montar o HTML com o select "Checkado", o da SQL com o NOT IN os que não estão selecionados em seu produto. Não é complicado de ser feito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo Salgado ja consegui montar!!!

 

Com o In e o Not In, a duvida era a seguinte.

 

Eu estou tendo que dar dois selects e esta mostrando em uma tabela do html as cores selecionadas e em outra tabela as cores nao selecionadas.

 

Eu gostaria de poder listar todas as checkboxs e listar somente as cadastradas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas qual a logica que está usando? as cores possiveis estao no db tambem? as cores marcadas estas num unico campo no db separado por virgula?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só executar um abaixo do outro e na mesma célula de sua table HTML

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso mesmo marioufpa a logica é esta!

 

Salgado meu codigo hoje é este pq estou usando separação por coluna

 

Veja meu codigo e diga como posso faze-lo?

 

 

<%
corescad=RS("cores")

If corescad <> "" Then
%> <strong>Cores Selecionadas </strong> <table width=500 border=0 cellpadding="0" cellspacing="0" class="texto"><tr> <%
Set RScores = Server.CreateObject("ADODB.Recordset") 
msql = "SELECT * FROM cores where id in ("&corescad&") order by cor"
RScores.Open msql, Conn,3,3
%>
<%
Dim contador 
contador = 1 
maxcol = 3	'<-- numero de registros por colunas
do while not rscores.eof%>
<%  
if contador <= maxcol then %>
<td> <%If RScores("imagem1") <> "" then%> <img src="../imagens/uploads/<%=RScores("imagem1")%>" width="10" height="10" border="0" /> 
<%End IF%> <input name="cores<%=RScores("id")%>" type="checkbox" value="<%=RScores("id")%>" checked> 
<%=RScores("cor")%> </td>
<% 
contador = contador + 1 
Else
%>
</tr>
<tr> 
<td> <%If RScores("imagem1") <> "" then%> <img src="../imagens/uploads/<%=RScores("imagem1")%>" width="10" height="10" border="0" /> 
<%End IF%> <input name="cores<%=RScores("id")%>" type="checkbox" value="<%=RScores("id")%>" checked> 
<%=RScores("cor")%> <% 
contador = 2 
end if 
arrayCores = arrayCores&","&RScores("id")
rscores.movenext 
loop 

'completa as colunas 
do while contador <= maxcol %> 
<td>  </td>
<%  contador = contador + 1 
loop %>
<%
RScores.Close 
Set RScores = Nothing 
%>
</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que vi voce ja seleciona as cores qeu serão marcadas

 

ASP
msql = "SELECT * FROM cores where id in ("&corescad&") order by cor"

 

agora basta voce colocar abaixo destas as que nao serão marcadas

 

ASP
msql = "SELECT * FROM cores where id NOT IN ("&corescad&") order by cor"

 

veja lá

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.