Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

[Resolvido] link igual da loja virtual

Recommended Posts

Olá pessoal,

 

Tive tentando aqui de várias formas mas não conseguir uma lógica legal para faze o seguinte: Eu queria fazer aqueles links que quando a pessoa vai navegando na loja virtual vai criando o caminho percorrido, tipo: inicio >> produtos >> celular

 

Um exemplo: Acesse esse link do submarino e veja:

 

http://www.submarino.com.br/homecache/baby...PrevCatId=75887

 

Lá tem os links Bebês >> Babás Eletrônicas

 

Linkados normalmente, como fazer isso?

 

Pois meus produtos / seção já gero normal no meu loop... mas quero colocar o link parecido acima. Meu loop é esse, pois ele exibi na horizontal, se servir:

 

<% Dim contador 
contador = 1
maxcol = 3

do while not tab3.eof 
	conteudo=tab3("nome")
	id=tab3("id_categoria")%>

<% 
	if contador <= maxcol then %>
<td>
<table align=center border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber37">
<tr>
<td width="100%">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#FFFFFF" width="100%" id="AutoNumber38" height="26">
<tr>
<td width="100%" bgcolor="#6699D0" height="26"> 
<p align="center"><font color="#FFFFFF">
<span style="font-size: 9pt; font-weight: 700">
<a href="produtosint.asp?id=<%=id%>" style="text-decoration: none"><font color="#FFFFFF"><%=conteudo%></font></a></span></font></td>
</tr>

</table>
</td>
</tr>
</table>
</td>
<% 
		contador = contador + 1
		tab3.movenext 
	else %> 
</tr>


<% 
		contador = 1

	end if 
loop 

'completa as colunas 
do while contador <= maxcol %> 
<%	contador = contador + 1 
loop %>

Obrigado!

 

Marcelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade não é o caminho percorrido... é como se fosse atalhos para voltar a "sessão" anterior.

 

Pense dessa forma:

 

Inicio => Página inicial

Bebês => Categoria

Babás Eletrônicas => Sub-categoria

 

Página inicial => Categoria => Sub-categoria

Se uma sub-categoria faz parte de uma categoria... quando você abrir a sub-categoria, basta buscar a categoria que ela pertence e exibir aí. "Página inicial" é padrão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ai vou ficar substituindo o que ja foi mostrado...

 

Tenho

ids=request.querystring("id")

if ids <> "" then

sqlcat = "Select * from categorias where id_categoriapai = '"&ids&"' order by id_categoria"

set tab03 = conexao.execute(sqlcat)

end if

 

ai se clica na categoria ele faz uma consulta para subcategoria

 

idsint=request.querystring("idint")

if idsint <> "" then

sqlcat = "Select * from categorias where id_categoriapai = '"&idsint&"' order by id_categoria"

set tab003 = conexao.execute(sqlcat)

end if

 

E essa fica fazendo consulta nela mesma... Mas como somar os caminhos e não substituir? Pois se aparece Oi e clica e vem Ola, fica o Ola e não: Oi > Ola

 

Entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Armazena dentro de uma variavel e depois manda escrever ela.

 

Por exemplo:

variavel = ">> Página inicial"

 

1) IF categoria

variavel = variavel & ">> " & tab03("nmcategoria")

 

2) IF subcategoria

variavel = variavel & ">> " & tab003("nmsubcategoria")

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se a pessoa clicar na subcategoria da subcategoria?

 

IF subcategoria

variavel = variavel & ">> " & tab003("nmsubcategoria")

 

Ele vai substituir não? Pois a pagina fica fazendo refresh nela mesma... Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou pegando o valor com request.ServerVariables("QUERY_STRING") e faço:

 

 

<%sql = "Select * from categorias where id_categoria = "&atalho&""

set tabatalhos = conexao.execute(sql)%>

>> <%=tabatalhos("nome")%>

 

Ele exibi onde estou ai... se clico em Fraudas ele exibi fraudas... Mas dentro de fraudas tenho que clicar de novo que é uma subcategoria de fraudas chamada fraudas pequenas e assim ele exibi fraudas pequenas e o correito era exibir fraudas >> fraudas pequenas

 

Assim em subcateogiras fraudas pequenas tem outra subcategoria chamada azul... a pessa clica em azul e e exibi azul... e o certo obviamente é fraudas >> fraudas pequenas >> azul... E assim vai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se ela é uma subcategoria da subcategoria, então é só você pegar de qual subcategoria ela faz parte, aí você pega o nome dela assim como você fez com a subcategoria e une tudo... o que fiz foi dar um exemplo simples... é só você adaptar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá... eu fiz assim e não deu! Na verdade ele ficou só processando e não exibiu nada... tive que derrubar o loop... Coloquei uma conluna chamada nivel na tabela...

 

A tabela está:

 

Imagem Postada

 

E fiz assim:

 

atalho = request.ServerVariables("QUERY_STRING")

categorias = ""

sql = "Select * From categorias Where id_categoria = " & atalho
Set rs = conexao.Execute(sql)
nivel = rs("Nivel")
categorias = rs("Nome")

q = Chr(34)
Do While nivel > 1
	sql1 = "Select * From Categorias Where id_categoriapai = '" & rs("id_categoria")&"'"
	Set rs1 = conexao.Execute(sql1)

	nivel = rs1("Nivel")
	categorias = rs1("Nome")
loop

Tem algo de errado? Acho que esse Do While fica processando e precisava de um wend... tentei colocar e dava erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um.. pelo forma que você faz, você terá que fazer uma função recursiva para pegar isso.

 

A partir da subcategoria final que é "fraudas pequenas" no exemplo, você vai pegar o id da subcategoria que ela pertence, o ID da categoria que a outra pertence e por aí vai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas nem adianta ainda... ele está travando... acho que é o loop:

 

atalho = request.ServerVariables("QUERY_STRING")


categorias = ""

sql = "Select * From categorias Where id_categoria = " & atalho
Set rs = conexao.Execute(sql)
nivel = rs("Nivel")
categorias = rs("Nome")

q = Chr(34)
Do While nivel > 1
	sql1 = "Select * From Categorias Where id_categoriapai = '" & rs("id_categoria")&"'"
	Set rs1 = conexao.Execute(sql1)

	nivel = rs1("Nivel")
categorias =" <a href=" & q & "http://localhost/afeirita/produtosint.asp?categorias=" & rs1("id_categoria") & q & ">"& rs1("Nome")& "</a>" & categorias
loop

Só fica processando e nada! ELe fica querendo travar, deve ser o loop não? Mesmo eu mudando os id_categoria..

 

Você consegue ver algum erro nele?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está travando porque o nível nunca está sendo <= 1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto, claro... mas entes, muito obrigado mesmo!

 

Veja... você percebe que no banco existe um campo chamado nivel que é com ele que faço o sistema, veja a tabela:

 

Imagem Postada

 

Com isso faço o sistema que quero, veja o código funcionando normalmente (perceba que eu uso o campo nivel para o teste):

 

atalho = request.ServerVariables("QUERY_STRING")

categorias = ""

sql = "Select * From Categorias Where id_categoria = " & atalho & ""


Set rs = Conexao.Execute(sql)
nivel = rs("nivel")
categorias = rs("Nome")

q = Chr(34)
Do While CDbl(nivel) > 1
  
	sql1 = "Select * From Categorias Where id_categoria = " & rs("id_categoriapai")& ""
	Set rs = conexao.Execute(sql1)
	
	nivel = rs("Nivel")
	
categorias =" <a href=" & q & "http://localhost/afeirita/produtosint.asp?categorias=" & rs("id_categoria") & q & ">"& rs("Nome")& "</a> -> " & categorias
loop


Response.Write categorias

Agora na hora de o usuário criar por um painel sua subcategoria no banco eu tenho que fazer uma contagem tipo 1+1 para inserir um novo nivel no campo nivel da tabela, isso?

 

Na verdade o que ocorre é:

 

Ele cadastra uma categoria chamada Casa e dentro dessa categoria uma subcategoria chamada Cadeira e dentro desta subcategoria outra subcategoria chamada Cadeira Azul e assim vai se preciso...

 

Mas ele pode ir e criar uma outra categoria chamada Prédio e dentro dessa categoria uma subcategoria chamada Apartamento e dentro desta subcategoria outra subcategoria chamada Apartamento de dois quartos e assim vai se preciso... Por exemplo.

 

Como processa a idéia de nível? Nivel 1 é sempre para as categorias e nivel 2,3 e etc são para subcategorias? Vou ter que fazer uma soma e reconhecer se ele é categoria ou subcategoria, isso?

 

Obrigado!

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.