Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocardoso

Busca???

Recommended Posts

Pessoal!

 

Quando eu tinha este código só para busca de produtos tudo funcionava tudo bem, mas depois acrescentei algo mais para a busca, para escolher por categoria clicando em um LINK no MENU, e de acordo com o código que fiz agora abaixo, não está funcionando...

ME AJUDEM....????

No que está de errado...por gentileza

 

 

<%'Buscaremos primeiramente a página atual PagAtual = Request.QueryString("paginacao")'Definimos o máximo de registros que serão exibidos por tela MaximoPorPagina = 10'Verificaremos qual variavel está sendo usada para a busca, antes de fazer a seleção no banco de dados IF (Request.QueryString("pesquisar") = "" AND Request.QueryString("secao") = "") THEN	'comandos caso as duas estejam vazias	 Response.Write "você tem que colocar algum criterio na busca ou categoria"	   ELSE  IF IDPROD = (Request.QueryString("secao") <> "" AND Request.QueryString("pesquisar") = "") THEN	'aki você faz oq quiser caso a variáves pesquisa esteja cheia	 SQL  = "SELECT * FROM Produtos WHERE (ProdutosValorDe LIKE '%" & IDPROD & "%' OR ProdutosNome LIKE '%" & IDPROD & "%' OR ProdutosSigla LIKE '%" & IDPROD & "%' OR ProdutosFabricante LIKE '%" & IDPROD & "%' OR ProdutosCategoria LIKE '%" & IDPROD & "%') AND ProdutosOpcao = 1 AND ProdutosOpcaoPromocao = 0 ORDER BY IDProduto ASC"  ELSE  	'comando caso a variavel secao esteja cheia  SQL  = "SELECT * FROM Produtos WHERE (ProdutosCategoria LIKE '%" & IDPROD & "%') AND ProdutosOpcao = 1 AND ProdutosOpcaoPromocao = 0 ORDER BY IDProduto ASC" END IF END IF	 'Faremos agora a seleção dos campos no banco de dados SET RSProdutos = Server.CreateObject("ADODB.Recordset")   	 RSProdutos.CursorType = 3	 RSProdutos.CacheSize = MaximoPorPagina	 RSProdutos.PageSize = MaximoPorPagina	 RSProdutos.Open SQL, ObjCX%>
Ainda não está buscando nem da variavel PESQUISAR e nem da SECAO...OK

Podem me ajudar com esta instrução, já tentei de varias maneiras e não sai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro leia isso http://forum.imasters.com.br/index.php?act...E=01&HID=54

Depois pergunto...você já imprimiu o sql no browser pra ver onde o código rstá chegando?

Outra coisa, essa linha está estranha

IF IDPROD = (Request.QueryString("secao") <> "" AND Request.QueryString("pesquisar") = "") THEN

 

E mais uma...qual a mensagem de erro e qual linha do erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, Jonathan!

 

Realmente, não sei!

Fui pegando dicas de alguns lugares e tentei fazer, mas quase certeza que está tudo errado, então veja se consegue me entender no que eu quero realizar: Vamos LÁ....

 

1) Tenho uma página de que lista uns 30 produtos, ok

2) Tenho um form para busca de produtos, ok

3) Tenho também uma tabela que tem todos um menu de todos os nomes das categorias do produto, ok

 

4) Preciso fazer através de duas variaveis, que são elas...

- Para a busca de produtos, uso a pesquisar (que no caso ficaria assim: produtos_detalhes.asp?pesquisar=VALOR)

- Para a categoria de produtos, uso a secao (que no caso ficaria assim: produtos_detalhes.asp?secao=VALOR)

 

5) Bom, ambas as duas variaveis serão uma para a busca pelo form, e a outra para quando o cara clicasse em uma das categorias do menu.

6) Só que não sei como resgatar isso, e montar as instruções de acordo com as variaveis enviados pela url para selecionar no banco de dados ao certo, se foi uma busca ou foi selecionada uma categoria. ok

 

 

Conseguiu entender, pode me ajudar com esta instrução.

Obrigado!

 

E me desculpe por qualquer coisa, não entendi muito oque você me passou para ler... mas me desculpe!

Não sei se estou certo, mas o negrito que coloco nas minhas mensagens coloco no sentido de grifar o texto e salientar oque quero fazer realmente, para que possa ficar de facil entendimento ao que está lendo. ok

 

Me desculpe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se é isso

<%'Buscaremos primeiramente a página atualPagAtual = Request.QueryString("paginacao")IDPROD = (Request.QueryString("secao")'Definimos o máximo de registros que serão exibidos por telaMaximoPorPagina = 10'Verificaremos qual variavel está sendo usada para a busca, antes de fazer a seleção no banco de dadosIF Request.QueryString("pesquisar") = "" AND IDPROD = "" THEN	'comandos caso as duas estejam vazias	 Response.Write "você tem que colocar algum criterio na busca ou categoria"	 ELSEIF IDPROD <> "" AND Request.QueryString("pesquisar") = "" THEN	'aki você faz oq quiser caso a variáves pesquisa esteja cheia	 SQL  = "SELECT * FROM Produtos WHERE (ProdutosValorDe LIKE '%" & IDPROD & "%' OR ProdutosNome LIKE '%" & IDPROD & "%' OR ProdutosSigla LIKE '%" & IDPROD & "%' OR ProdutosFabricante LIKE '%" & IDPROD & "%' OR ProdutosCategoria LIKE '%" & IDPROD & "%') AND ProdutosOpcao = 1 AND ProdutosOpcaoPromocao = 0 ORDER BY IDProduto ASC"ELSE  	'comando caso a variavel secao esteja cheia  SQL  = "SELECT * FROM Produtos WHERE (ProdutosCategoria LIKE '%" & IDPROD & "%') AND ProdutosOpcao = 1 AND ProdutosOpcaoPromocao = 0 ORDER BY IDProduto ASC"END IF	 'Faremos agora a seleção dos campos no banco de dadosSET RSProdutos = Server.CreateObject("ADODB.Recordset")   	 RSProdutos.CursorType = 3	 RSProdutos.CacheSize = MaximoPorPagina	 RSProdutos.PageSize = MaximoPorPagina	 RSProdutos.Open SQL, ObjCX%>
Apenas usei elseif para verificar os campos, eliminiando um IF, coloquei o valor de (Request.QueryString("secao") para dentro de IDPROD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonathan, estava me dando este erro!

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0400)

'Then' esperado

Instrução esperada

produtos.asp, line 69, column 66

ELSEIF IDPROD <> "" AND Request.QueryString("pesquisar") = "" THEN)

-----------------------------------------------------------------^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funcionou tirando o THEN!Dá o mesmo erro, só que agora no sinal de IGUAL =???Pessoal, alguém mais experiente que eu, me ajuda aí... pois eu sozinho não vou consiguir nunca, nao tenho muito conhecimento....Só preciso fazer algo que verifique quais das duas variaves estão cheias pelo GET, e ordenar uma ou outra busca de acordo com a variavel preenchida na URL.....Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Ao invés disso:

ELSEIF IDPROD <> "" AND Request.QueryString("pesquisar") = "") THEN

tente isso:

ELSEIF IDPROD <> "" AND (Request.QueryString("pesquisar") = "") THEN

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos SHUMI e TMFERREIRA!

 

Meu codigo responsável para fazer esta condição está assim agora, vejam:

 

<% PagAtual = Request.QueryString("paginacao") IDPROD = (Request.QueryString("secao")) MaximoPorPagina = 10'Verificaremos qual variavel está sendo usada para a busca, antes de fazer a seleção no banco de dados IF (Request.QueryString("pesquisar") = "" AND IDPROD = "") 	'comandos caso as duas estejam vazias	 Response.Write "você tem que colocar algum criterio na busca ou categoria"	 	 ELSEIF IDPROD <> "" AND (Request.QueryString("pesquisar") = "") THEN 			'aki você faz oq quiser caso a variáves pesquisa esteja cheia			 SQL  = "SELECT * FROM Produtos WHERE (ProdutosValorDe LIKE '%" & IDPROD & "%' OR ProdutosNome LIKE '%" & IDPROD & "%' OR ProdutosSigla LIKE '%" & IDPROD & "%' OR ProdutosFabricante LIKE '%" & IDPROD & "%' OR ProdutosCategoria LIKE '%" & IDPROD & "%') AND ProdutosOpcao = 1 AND ProdutosOpcaoPromocao = 0 ORDER BY IDProduto ASC"			 ELSE			  			 'comando caso a variavel secao esteja cheia			 SQL  = "SELECT * FROM Produtos WHERE (ProdutosCategoria LIKE '%" & IDPROD & "%') AND ProdutosOpcao = 1 AND ProdutosOpcaoPromocao = 0 ORDER BY IDProduto ASC"	 END IF	 'Faremos agora a seleção dos campos no banco de dados SET RSProdutos = Server.CreateObject("ADODB.Recordset")   	 RSProdutos.CursorType = 3	 RSProdutos.CacheSize = MaximoPorPagina	 RSProdutos.PageSize = MaximoPorPagina	 RSProdutos.Open SQL, ObjCX%>

 

Veja se conseguem me ajudar a resolver esta.... pendenga!!!!

 

 

E ainda continua me dando este erro:

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A03F9)

'Then' esperado

produtos.asp, line 69, column 58

IF (Request.QueryString("pesquisar") = "" AND IDPROD = "")

---------------------------------------------------------^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá SALGADO!

 

Consegue me ajudar aqui, não estamos conseguindo resolver isso.

Consegue me dar uma ajudinha!

 

Cheguei até aí, mas não saio mais do lugar....

Ajuda o amigo aqui!

 

Parece ser tão simples, mas não está sendo.

 

Aguardo seu retorno por gentileza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque

IF (Request.QueryString("pesquisar") = "" AND IDPROD = "")
por

IF Request.QueryString("pesquisar") = "" AND IDPROD = "" THEN
detalhe....verifique todos os ifs pois eles estão com "problemas" da mesma natureza

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa!o que é pra trazer e o que está retornando?Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

SHUMI!Ele quando clico em algum item do menu categoria, ele me traz corretamente os produtos daquela categoria....Mas quando uso um criterio no form de busca ele não traz o digitado ex: mouse.... okEle acaba não me trazendo só mouse, mas todos os registros do banco de dados.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

abaixo disso IDPROD = (Request.QueryString("secao")coloqueif idprod="" thenidprod=request.form("campodoformulario")end if

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.