Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos Moreira

Outras sugestões?

Recommended Posts

Olá pessoal estou tentando listar as cores existentes no produto que estao separado por "," ele esta fucionando certinho porem nao esta rodando dentro do meu código onde eu tenho um carrinho de comprar.

 

Erro ele somente adiciona o 1° produto corretamente depois que pega esse "next" do codigo ele nao funciona mais

por exemplo eu tento adicionar o 2° ou 3° ... produto ele nao vai com o valor correto que coloquei no campo quantidade.

 

o código é este abaixo

 

e a DUVIDA É: TERIA ALGUMA MANEIRA DE MONTAR ESSE MESMO CÓDIGO ABAIXO sem esse FOR e If Not RScores1.eof then porque acho que são eles que esta ocorrendo esse problema

 

<%arrayCores1= split(RS("cores"),",")for i=0 to ubound(arrayCores1)Call abre_conexao(ConnString,Conn)Set RScores1 = Server.CreateObject("ADODB.Recordset") msql = "SELECT * FROM cores where id="&cint(arrayCores1(i))&" order by cor"RScores1.Open msql, Conn,3,3If Not RScores1.eof then%><%If RScores1("imagem1") <> "" then%><img src="imagens/uploads/<%=RScores1("imagem1")%>" alt="<%=RScores1("cor")%>" width="10" height="10" border="0" /><%End IF%><input name="cores" type="radio" value="<%=RScores1("id")%>"><%End IfNextRScores1.Close Set RScores1 = NothingCall fecha_conexao() %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, Você colocou pra abrir a conexão dentro de um laço for? E o recordset também dentro do laço? Ai a cada interação ele vai fazer isso rsss....Dica: O interessante é você ter a tabela de PRODUTO e uma tabela PRODUTO_CARACTERESTICAS, sendo que nessa segunda teria o CD_PRODUTO,CD_CARACTERISTICA,VALOR....conseguiu me compreender? ai sei lá a COR AZUL poderia ser uma caracteristica de código 3, entendeu?Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que o LiPe tentou dizer é mais ou menos isso!

 

Dispinivel em:
<select name="cores">
<%
arrayCores1= split(RS("cores"),",")

Call abre_conexao(ConnString,Conn)
Set RScores1 = Server.CreateObject("ADODB.Recordset")
msql = "SELECT * FROM cores where id="&cint(arrayCores1(i))&" order by cor"
RScores1.Open msql, Conn,3,3

for i=0 to ubound(arrayCores1)
If Not RScores1.eof then
%>
<option value="<%=RScores1("id")%>"><%=RScores1("cor")%></option>
<%
End If
Next
RScores1.Close
Set RScores1 = Nothing
Call fecha_conexao()
%>
</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda esta dando erro:

 

Perceba que no Where ele faz uma busca com esse tal de (i) que contem onde esta em negrito

 

 

Código que o você passou:

 

 

<select name="cores"><%arrayCores1= split(RS("cores"),",")Call abre_conexao(ConnString,Conn)Set RScores1 = Server.CreateObject("ADODB.Recordset")msql = "SELECT * FROM cores where id="&cint(arrayCores1(i))&" order by cor"RScores1.Open msql, Conn,3,3for i=0 to ubound(arrayCores1)If Not RScores1.eof then%><option value="<%=RScores1("id")%>"><%=RScores1("cor")%></option><%End IfNextRScores1.CloseSet RScores1 = NothingCall fecha_conexao()%></select>

Entendeu

ai ele listou apenas uma cor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, estranho esse erro cara: veja æ outra coisa:

 

<select name="cores">
<%
Call abre_conexao(ConnString,Conn)

arrayCores1= split(RS("cores"),",")
for i=0 to ubound(arrayCores1)

Set RScores1 = Conn.Execute("SELECT * FROM cores where id='"&arrayCores1(CInt(i))&"' order by cor")
If Not RScores1.eof then
%>
<option value="<%=RScores1("id")%>"><%=RScores1("cor")%></option>
<%
End If
Next
RScores1.Close
Set RScores1 = Nothing
Call fecha_conexao()
%>
</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora melhorou!!!!

 

olah bem amigo, fiz um teste aki com o Banco ORACLE o olha o que resultou:

 

minha tebela de cores está assi:

codigo, que é um campo de auto-numeração, chave primária

cores, que é um campo de teste com 255 caracteres

 

cadastrei 3 cores, (verde, amarelo, azul)

cada um có os respectivos códigos auto-numeraveis (1,2,3)

veja como coloquei o codigo

<select name="cores">
<%
ts = "1,2,3"

arrayCores1= split(ts,",")
for i = 0 to ubound(arrayCores1)

Set RScores1 = TedkBanco.Execute("SELECT * FROM tedkteste where codigo = '"&arrayCores1(CInt(i))&"'")
If Not RScores1.eof then
%>
<option value="<%=RScores1("codigo")%>"><%=RScores1("cores")%></option>
<%
End If
Next
RScores1.Close
%>
</select>

se você reparou o seu antigo RS("Cores") coloquei um valor chamado ts com o valor das cores, que é o que você quer...

 

no final apareceu um com com as tres cores, era esse o resultado ou em confundi tudo?

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.