Ir para conteúdo

POWERED BY:

Arquivado

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

Loko da Web

[Resolvido] Letra inicial inativo

Recommended Posts

Bom dia!

 

Bom galera,... criei um um busca pela letra inicial, funciona 100%, o que eu gostaria de saber é o seguinte:

 

- Existe um link pra letra de todo o alfabeto e até numeros.

- A ideia é que quando nao houver um cadastro no bd correspondente a letra (por exemplo, vou clicar na letra B abrira outra pagina dizendo que nao existe nenhum registro com essa letra) a letra fica inativa. Um exemplo disso pode ser visto nesse site.

 

http://www.locahouse.com.br/v2/categoria.asp?ID=14

 

Como vcs podem notar aparece apenas algumas letras claras, apontando como ativos, e outras estao escuras apontado que nao existe registro com a letra. Tem como fazer isso ????

 

Agradeço a ajuda do pessoal !!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

melhor forma que vejo é:

para listar essas letras, faça uma varredura no banco, se achar deixa ativa, caso contrário deixa a letra inativa!

Compartilhar este post


Link para o post
Compartilhar em outros sites

melhor forma que vejo é:

para listar essas letras, faça uma varredura no banco, se achar deixa ativa, caso contrário deixa a letra inativa!

Pois é Ted, esse é o problema como fazer essa varredura no bd ??? Um logica que eu achei interessante, é que nem a paginacao que tem aqui no forum, um exemplo:

 

IF (p1 > PagAtual) or ((PagAtual <= 10) and (TotalPages > 10)) THEN	


	   Response.Write("<div class='pag-pontinhos'>")
	   Response.Write("<a href='todos_filmes.asp?PagAtual=" & final + 1 & "&idcat=" & idcat & "'>")
	   Response.Write("...")
	   Response.Write("</a></div>  ") 

		 ELSE

	   Response.Write("<div class='pag-pontinhos'>")
	   Response.Write("...") 
	   Response.Write("</div>  ")

   END IF

Como pode ver na primeira instancia o link estaria ativo, na segunda instancia o link ficaria inativo, a ideia é essa. O que daria pra fazer é colocar um IF pra cada letra,... Mas, o problema é o que colocar no IF (p1 > PagAtual) or ((PagAtual <= 10) and (TotalPages > 10)) THEN ??????

 

A forma como esta o meu link atual, fiz dessa maneira pra cada letra.

 

<div class="pag-link2"><a href="buscar_letra_resultado.asp?letra=A&idcat=<%=RS("idcat")%>">A</div></a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa verificar antes se ela nao comtem dados,

tipo:

 

if rs("idcat") = "" then
'nao cria o link e deixa ele com outra cor
else
'aqui você exibe normal
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa verificar antes se ela nao comtem dados,

tipo:

 

if rs("idcat") = "" then
'nao cria o link e deixa ele com outra cor
else
'aqui você exibe normal
...

Xan, estamos quase la....

 

Fiz dessa maneira:

 

<%
if rs("idcat") = "" then
	   Response.Write("X")
else
	   Response.Write("<a href='buscar_letra_resultado.asp?letra=X&idcat=" & idcat & "'>X")
end if
%>

<%
if rs("idcat") = "" then

	   Response.Write("<div class='pag-link2'>")
	   Response.Write("<a href='buscar_letra_resultado.asp?letra=A&idcat=" & idcat & "'>")
	   Response.Write("A")
	   Response.Write("</a></div>  ") 

else

	   Response.Write("<div class='pag-link2'>")
	   Response.Write("A")
	   Response.Write("</div>  ") 

end if
%>

Como você pode notar, só após o else o cod funciona, ou seja, na primeiro cod depois do else tem um link, mas nesse link nao existe nenhum registro e mesmo assim o link ficou ativo.

 

No segundo cod, a mesma coisa... tem só a letra A sem o link, mas tem registro no bd com letra A, e mesmo assim ele ficou inativo.

 

E como você tbem pode notar, troquei das duas maneiras no primeiro cod inativo depois do if e ativo depois do else... fiz o contrario nesse mesmo codigo deu a mesma coisa, funciona após o else.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara "X" é uma variavel ?

 

se for tem que tirar as aspas dela na hora de dar o response.write.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que esta sendo passado no rs("idcat")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara "X" é uma variavel ?

 

se for tem que tirar as aspas dela na hora de dar o response.write.

 

abraços

 

Filipe, esse X é o botao inativo....

 

<%
if rs("idcat") = "" then
	   Response.Write("X")
else
	   Response.Write("<a href='buscar_letra_resultado.asp?letra=X&idcat=" & idcat & "'>X")
end if
%>

No if esta apenas o X (inativo), e no else esta o link do X (ativo)....

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que esta sendo passado no rs("idcat")

É o id da categoria. Tenho duas tabelas (categorias e fotos).

 

categorias

 

id - nome_cat

 

fotos

 

id - idcat - nome - foto - thumb - detalhe e outras coisas ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta gerando erro ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta gerando erro ???

Não esta gerando nenhum erro... Apenas não esta funcionando. Como eu disse nos posts anteriores, a função apenas funciona depois do else:

 

<%
if rs("nome") = "" then
	   Response.Write("X")
else
	   Response.Write("<a href='buscar_letra_resultado.asp?letra=X&idcat=" & idcat & "'>X")
end if
%>

Dessa maneira o link esta ativo, mas se eu trocar de ordem:

 

<%
if rs("nome") = "" then
	   Response.Write("<a href='buscar_letra_resultado.asp?letra=X&idcat=" & idcat & "'>A")
else
	   Response.Write("A")
end if
%>
O link fica inativo,... o que acontece, no primeiro caso, mesmo que não há registros que comecem com a letra X, o link fica inativo. No segundo caso, mesmo que há registros o link fica inativo.

 

Tentei fazer dessa outra maneira, coloquei:

 

if isnull(rs("nome")) then

no lugar de:

if rs("nome") = "" then

Mas, da a mesma coisa !!!!! Realmente esta dificil de achar uma solução !!!!!! http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

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.