Ir para conteúdo

POWERED BY:

Arquivado

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

Loko da Web

[Resolvido] Pop up para galeria

Recommended Posts

Boa tarde!

 

Estou montando uma galeria de foto, esta no fim... porem a minha ideia é quando clicar na categoria abre uma popup com frame, sendo divido em tres quadros (topo, foto e thumb).

 

O problema é que eu não sei como fazer carregar o thumb, pois topo e foto carregam normal.

 

O erro do thumb.

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'idcat='.

/chacalalbum/chacalalbum/teste02.asp, line 14

Segue o link da galeria:

 

http://www.aspet.somee.com/chacalalbum/chacalalbum/

 

O frame esta dessa maneira.

 

<html>
<head>
<title>Galeria de foto</title>
</head>
<FRAMESET ROWS="20%,60%,20%" FRAMEBORDER="0" FRAMESPACING="0">
<FRAME SRC="topo.htm" NAME="topo" NORESIZE SCROLLING="NO">
<FRAME SRC="foto.HTM" NAME="foto" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE SCROLLING="no">
<FRAME SRC="teste02.asp" NAME="thumb" NORESIZE SCROLLING="yes">
</FRAMESET>
<noframes>
<body>
</body>
</noframes>
</frameset>
</html>

Alguem tem ideia de como fazer isso ?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta ai a página teste02.asp com o erro na linha apontada!

Para analisar melhor vou disponibilizar o codigo inteiro, a linha que acusa o erro esta abaixo

 

rsBuscaProdutos.open strBuscaProdutos, conexao, 3, 3

<!--#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="1" cellpadding="0" cellspacing="0" width="600">
  <tr>
	<td colspan="2">Galeria de Fotos</td></tr>

  <%
   'Iniciamos o Loop
	rsBuscaProdutos.AbsolutePage = intpagina 
	intrec = 0
	While intrec<rsBuscaProdutos.PageSize and not rsBuscaProdutos.eof  
  %>
  <tr>
   <td width="200"><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="2"> </td></tr>
<tr><td colspan="2">
	<% 
	'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>
	</td>
  </tr>  
</table>
</body>
</html>

Qualquer outra coisa que precisar, é só falar !!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No inicio do código da página teste02.asp coloque:

Response.Write request.querystring("idcat")
Response.End
Poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca assim:

strBuscaProdutos = "SELECT * FROM fotos WHERE idcat="&idcat&""
e verifique se o campo idcat é numerio ou, poi se for texto, coleque

strBuscaProdutos = "SELECT * FROM fotos WHERE idcat='"&idcat&"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

No inicio do código da página teste02.asp coloque:

Response.Write request.querystring("idcat")
Response.End
Poste o resultado.

Hargon coloquei e nao aconteceu nada fiz dessa forma:

 

<!--#include file="conectar.asp"-->
<% 
[b]Response.Write request.querystring("idcat")
Response.End[/b]
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="1" cellpadding="0" cellspacing="0" width="600">
  <tr>
	<td colspan="2">Galeria de Fotos</td></tr>

  <%
   'Iniciamos o Loop
	rsBuscaProdutos.AbsolutePage = intpagina 
	intrec = 0
	While intrec<rsBuscaProdutos.PageSize and not rsBuscaProdutos.eof  
  %>
  <tr>
   <td width="200"><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="2"> </td></tr>
<tr><td colspan="2">
	<% 
	'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>
	</td>
  </tr>  
</table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao aconteceu nada como assim? Ficou tudo branco ou apareceu algo escrito?

 

Se ficou tudo branco é pq você não está passando o parâmetro corretamente para essa página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao aconteceu nada como assim? Ficou tudo branco ou apareceu algo escrito?

 

Se ficou tudo branco é pq você não está passando o parâmetro corretamente para essa página.

Esta em branco.... Se for parametro, devo proceder de forma ?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca assim:

strBuscaProdutos = "SELECT * FROM fotos WHERE idcat="&idcat&""
e verifique se o campo idcat é numerio ou, poi se for texto, coleque

strBuscaProdutos = "SELECT * FROM fotos WHERE idcat='"&idcat&"'"

 

O campo é numerico, fiz conforme pediu e não aconteceu nada !!!!

 

Pessoal vou disponibilzar o codigo da categoria pra analisar melhor...o frame esta la em cima e teste02.asp (thumb) tbem.

 

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

		'Selecionamos todos os Produtos da Tabela
If idcat = "" Then
Set rsBuscaProdutos = Server.CreateObject("ADODB.Recordset")
strBuscaProdutos = ("SELECT * FROM categorias ORDER BY id desc")
		rsBuscaProdutos.open strBuscaProdutos, conexao, 3, 3

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

'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">Galeria de fotos</td>
   </tr>
<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="java script://" onClick="window.open('frame.asp?idcat=<%=rsBuscaProdutos("id")%>&cat=<%=rsBuscaProdutos("nome_cat")%>','Galeria','toolbar=0,location=0,directories=0,menubar=0,scrollbars=0,resizable=0,width=
600,height=580')"> <%=rsBuscaProdutos("nome_cat")%></a></td>

  <% 
rsBuscaProdutos.MoveNext
	intrec = intrec + 1
	if rsBuscaProdutos.eof then 
	   response.write "</tr>" 
	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="teste.asp?pagina=<%=intpagina-1%>">Anterior</a> 
	<% 
	end if
	if StrComp(intpagina,rsBuscaProdutos.PageCount)<>0 then   
	%>
	<a href="teste.asp?pagina=<%=intpagina + 1%>">Próximo</a>  
	<%
	end if
	rsBuscaProdutos.close
	Set rsBuscaProdutos = Nothing
	%>
	</td>
  </tr>  
</table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se ficou tudo em branco, é pq você nao está passando o parâmetro para essa página.

 

Você tem que informar na URL o parâmetro e o valor. Ex. teste02.asp?idcat=2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se ficou tudo em branco, é pq você nao está passando o parâmetro para essa página.

 

Você tem que informar na URL o parâmetro e o valor. Ex. teste02.asp?idcat=2

Esse parametro seria na pagina de frame ??? Seria assim:

 

<html>

<head>

<title>Galeria de foto</title>

</head>

<FRAMESET ROWS="20%,60%,20%" FRAMEBORDER="0" FRAMESPACING="0">

<FRAME SRC="topo.htm" NAME="topo" NORESIZE SCROLLING="NO">

<FRAME SRC="foto.HTM" NAME="foto" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE SCROLLING="no">

<FRAME SRC="teste02.asp?idcat=2" NAME="thumb" NORESIZE SCROLLING="yes">

</FRAMESET>

<noframes>

<body>

</body>

</noframes>

</frameset>

</html>

 

Mas, se for pra colocar ai, tem que declarar as variaveis, como resquest.querystring nesta pagina????

Compartilhar este post


Link para o post
Compartilhar em outros sites

É daquela forma mesmo. Mas o 2 foi só um exemplo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

É daquela forma mesmo. Mas o 2 foi só um exemplo...

Só mais uma coisa tem alguma forma simples de declarar as variaveis, pois vou utilizar dessa forma:

 

<% AbreConexao
idcat=request.querystring("idcat")
cat=request.querystring("cat")

		'Selecionamos todos os Produtos da Tabela
If idcat = "" Then
Set rsBuscaProdutos = Server.CreateObject("ADODB.Recordset")
strBuscaProdutos = ("SELECT * FROM categorias ORDER BY id desc")
		rsBuscaProdutos.open strBuscaProdutos, conexao, 3, 3
end if
%>
<html>
<head>
<title>Galeria de foto</title>
</head>
<FRAMESET ROWS="20%,60%,20%" FRAMEBORDER="0" FRAMESPACING="0">
<FRAME SRC="topo.htm" NAME="topo" NORESIZE SCROLLING="NO">
<FRAME SRC="foto.HTM" NAME="foto" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE SCROLLING="no">
<FRAME SRC="teste02.asp?idcat=<%=rsBuscaProdutos("id")%>" NAME="thumb" NORESIZE SCROLLING="yes">
</FRAMESET>
<noframes>
<body>
</body>
</noframes>
</frameset>
</html>

Seria isso ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

se AbreConexao for uma sub você deve chamá-la assim:

Call AbreCoexexao, por exemplo para uma arquivo assim:

 

<% '----------------------
'	este arq. serve para estabelecer a conexao com o BD em Access
'	de nome quaddra.mdb - para o arquivo login_action.asp

sub abreconexao
constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/quaddra.mdb")
Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring
end sub

sub fechaconexao
set conexao=nothing
end sub
%>

e use o Option Explicit, onde força a declaração (com Dim, Private, Public ou ReDim) de

todas as variáveis usadas no script, antes de serem utilizadas.

Deve ser colocado no script antes de qualquer outra instrução.

Qualquer tentativa de usar uma variável não declarada ocasionará

um erro. A declaração de variáveis antes de usá-las faz com que

o script seja executado mais rapidamente.

 

Option Explicit
' declara as var
dim varremetente, vardestinatario, varassunto, objmail, htmlemail

Compartilhar este post


Link para o post
Compartilhar em outros sites

É daquela forma mesmo. Mas o 2 foi só um exemplo...

Só mais uma coisa tem alguma forma simples de declarar as variaveis, pois vou utilizar dessa forma:

 

<% AbreConexao
idcat=request.querystring("idcat")
cat=request.querystring("cat")

		'Selecionamos todos os Produtos da Tabela
If idcat = "" Then
Set rsBuscaProdutos = Server.CreateObject("ADODB.Recordset")
strBuscaProdutos = ("SELECT * FROM categorias ORDER BY id desc")
		rsBuscaProdutos.open strBuscaProdutos, conexao, 3, 3
end if
%>
<html>
<head>
<title>Galeria de foto</title>
</head>
<FRAMESET ROWS="20%,60%,20%" FRAMEBORDER="0" FRAMESPACING="0">
<FRAME SRC="topo.htm" NAME="topo" NORESIZE SCROLLING="NO">
<FRAME SRC="foto.HTM" NAME="foto" MARGINWIDTH="0" MARGINHEIGHT="0" NORESIZE SCROLLING="no">
<FRAME SRC="teste02.asp?idcat=<%=rsBuscaProdutos("id")%>" NAME="thumb" NORESIZE SCROLLING="yes">
</FRAMESET>
<noframes>
<body>
</body>
</noframes>
</frameset>
</html>

Seria isso ????

 

 

Fiz dessa forma acima, porem ta dando esse erro:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'idcat= <font face='.

 

/chacalalbum/chacalalbum/teste02.asp, line 15

 

Pq aparece aquele font face ???? Antes não dava aquilo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz !!!! Consegui resolver o problema... era simplesmente fazer assim:

 

<FRAME SRC='teste02.asp?idcat=<%=request.querystring("idcat")%>' NAME="thumb" NORESIZE 

SCROLLING="yes">

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.