Jump to content


Photo

Imagem Se Repete


  • Faça o login para participar
5 replies to this topic

#1 Loko da Web

Loko da Web

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Não informado

Posted 13/12/2008, 09:46

Bom dia !

Pessoal, estou desenvolvendo uma galeria de fotos, esta quase pronto porem um erro persiste...

Minha galeria consiste em categoria (tudo ok aqui), clicando na categoria abre os thumbs (tudo ok aqui também) e depois abre uma pagina com a foto original, porem quando clico no primeiro thumb abre a foto original ok, mas quando clico no segundo thumb a foto original se repete.

Então pra vocês verem como ocorre isso, segue o link da galeria:

http://www.aspet.som...album/teste.asp

E ai, o que pode estar ocorrendo... eu sinceramente tentei de tudo mesmo, e só falta isso pra ficar pronto a galeria.

#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 13/12/2008, 10:54

Tem como vc colocar a parte do código que faz a impressão do caminho da img?

Veja se não tem nada estático, ou salvo no banco com mesmo nome, algo do tipo...

;-)

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#3 Loko da Web

Loko da Web

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Não informado

Posted 13/12/2008, 11:09

Tem como vc colocar a parte do código que faz a impressão do caminho da img?

Veja se não tem nada estático, ou salvo no banco com mesmo nome, algo do tipo...

;-)


Esse é a parte do thumb.

<!--#include file="conectar.asp"-->
<% AbreConexao
idcat=request.querystring("idcat")
nome_cat=request.querystring("nome_cat")
cat=request.querystring("cat")
idfoto=request.querystring("idfoto")

		'Selecionamos todos os Produtos da Tabela
If idfoto = "" Then
Set rsBuscaProdutos = Server.CreateObject("ADODB.Recordset")
strBuscaProdutos = ("(SELECT * FROM fotos WHERE idcat="&idcat&")")


		rsBuscaProdutos.open strBuscaProdutos, conexao, 3, 3

'Definimos o Numero de Paginas com a propriedade "PageSize" do objeto Recordset
rsBuscaProdutos.PageSize = 5

'Criamos as Validações
if rsBuscaProdutos.eof then
   Mensagem = "Nenhum Registro Encontrado"
   Response.End 
else
   'Definimos em qual pagina o visitante está
   if Request.QueryString("pagina")="" then 
	  intpagina = 1
   else
	  if cint(Request.QueryString("pagina"))<1 then
intpagina = 1
	  else
if cint(Request.QueryString("pagina"))>rsBuscaProdutos.PageCount then  
	intpagina = rsBuscaProdutos.PageCount
		 else
	intpagina = Request.QueryString("pagina")
end if
	  end if	
   end if   
		end if
end if
%>
<html>
<head>
<title>Teste</title>

</head>
<body>
<table border="0">
  <tr>
	<td width="181" colspan="2"></td>
   </tr>
  <%
   'Iniciamos o Loop
	rsBuscaProdutos.AbsolutePage = intpagina 
	intrec = 0
	While intrec<rsBuscaProdutos.PageSize and not rsBuscaProdutos.eof  
  %>
  <tr>
   <td><a href="ver_foto.asp?idcat=<%=rsBuscaProdutos("idcat")%>&idfoto=<%=rsBuscaProdutos("id")%>"><img src="<%=rsBuscaProdutos("thumb")%>"></a></td>
  <%
	rsBuscaProdutos.MoveNext
	intrec = intrec + 1
	if rsBuscaProdutos.eof then 
	   response.write " " 
	end if   
	Wend  
  %>
  <tr>
	<td colspan="3"></td>
	<td>
	<% 
	'Criamos as Validações para a navegação "Anterior" e "Próximo"  
	if intpagina>1 then 
	%> 
	<a href="teste02.asp?pagina=<%=intpagina-1%>">Anterior</a> 
	<% 
	end if
	if StrComp(intpagina,rsBuscaProdutos.PageCount)<>0 then   
	%>
	<a href="teste02.asp?pagina=<%=intpagina + 1%>">Próximo</a>  
	<%
	end if
	rsBuscaProdutos.close
	Set rsBuscaProdutos = Nothing
	%>
	</td>
  </tr>  
</table>
</body>
</html>

Pagina do foto original

<!--#include file="conectar.asp"-->
<%
AbreConexao
idcat=request.querystring("idcat")
nome_cat=request.querystring("nome_cat")
cat=request.querystring("cat")
idfoto=request.querystring("idfoto")
SQL = "SELECT * FROM fotos WHERE idcat =" & idcat & ""
Set Rs = Server.CreateObject("ADODB.Recordset")	 
  Rs.Open SQL, ConStr, 3, 3
  foto = Rs("foto")
  nome_foto = Rs("nome_foto")
%>
<html>
<head>
<title>foto</title>
</head>
<body>
<font face="Verdana" size="2">
<div align="center">
  <center>
  <table border="1" cellpadding="3" cellspacing="0" bordercolorlight="#FFFFFF">
	<tr>
	  <td><b><img src="<%=foto%>" bordercolorlight="#FFFFFF"></td>
	</tr>
<tr>
	  <td align="center"><b><%=nome_foto%></td>
	</tr>
	<tr>
	  <td>
	  </td>
	</tr>
	  </table>
  </center>
</div>
</font>
</body>
</html>

Coloquei o codigo completo pra analisar melhor, é parte do thumb e foto orignal. Qualquer outro codigo que precisar é só falar...

#4 gmogames

gmogames

    SuaRota.com.br

  • Usuários
  • 155 posts
  • Sexo:Não informado
  • Localidade:Americana/SP

Posted 14/12/2008, 21:08

Cara,

Na pagina da foto original, vc ta fazendo o select:
SQL = "SELECT * FROM fotos WHERE idcat =" & idcat & ""

só que vc ta pegando todas as fotos da categoria idcat, mas vc nao ta pegando o id da foto.

Usando o select assim e pegando RS("foto") ele sempre vai retornar a 1a foto deste select e nao a foto que vc quer.

Adicione um WHERE idfoto = "& Request("idfoto) que eu acho que já vai funfar!

Abcs!
http://www.suarota.com.br
O maior guia de hoteis, restaurantes, agências de turismo, albergues e eventos na internet!!!!!


Guilherme K. Mogames
contato@suarota.com.br

#5 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 15/12/2008, 07:32

Boa GmoGames!

Loko, essa pesquisa que está atualmente retorna mais de um registro, mas ao atribuir
às variáveis os valores atuais do recordset, ele pega o primeiro registro retornado
pela sua query (o que faz que sempre traga o primero cadastrado da categoria de imagens):
SQL = "SELECT * FROM fotos WHERE idcat =" & idcat & ""
Faça um teste, simples.
Inclua um for para o RS e veja o que acontece!

O que o GmoGames disse ta massa!
SQL = "SELECT * FROM fotos WHERE idfoto =" & foto & " and idcat =" & idcat & ""
Colega outra coisa interessante seria retornar apenas o necessário para a apresentação dos registros em tela,
to falando do "select *", pois assim vc limita o que será retornado para do banco.
SQL = "SELECT foto, nome_foto FROM fotos WHERE idfoto =" & foto & " and idcat =" & idcat & ""

;-)

Edição feita por: Renan L. Queiroz, 15/12/2008, 07:43.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#6 Loko da Web

Loko da Web

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Não informado

Posted 15/12/2008, 10:36

Putz !!!

Todas as alternativas deu certo... realmente estava selecionando todas fotos, apenas a primeira imagem, modificando-a apenas pra selecionar foto usei todas as alternativas acima.

Tbem deu certo dessa forma

SQL = "SELECT * FROM fotos WHERE id =" & idfoto & ""

Obrigado GmoGames e Renan, vc foram dez em resolução e atenção. Valeu e pode encerrar o topico.

Edição feita por: Loko da Web, 15/12/2008, 10:37.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq