Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocardoso

instrução SQL

Recommended Posts

Amigo!

 

Olha oque deu:

 

Erro de compilação do Microsoft VBScript erro '800a03ea'
Erro de sintaxe

produtos.asp, line 53
ELSE CONQ_BUSCA <> "" THEN
------------------------^

 

Veja se consegue ver o link, e baixar os quatro arquivos que coloquei, pode ser que eu é que estou fazendo errado na estrutura aqui.

Ficarei no teu aguardo.

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Notei alí também que o ELSE está seguindo da CONQ_BUSCA

 

aí fiz assim

retirei o CONQ_BUSCA <> " THEN

 

e funcionou a mesma coisa, o terceiro caso ainda continua na mesma.

 

 

Veja aí meu codigo, não tem virus, testei no ESET....

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu errei

 

corrigido

IF CONQ_BUSCA = "" THEN
	'lista tudo que tiver
	SQL = "SELECT * FROM CONQ_RS_PRODUTOS ORDER BY ID"
ELSE
'aqui roda o bloco caso tenha digitado algo na busca
	if CONQ_FABRI = "" THEN
		SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%"& CONQ_BUSCA &"%' OR CONQ_PRODSigla LIKE '%"& CONQ_BUSCA &"%' ORDER BY ID DESC"
	 ELSEIF CONQ_BUSCA <> "" THEN
		SQL = "SELECT * FROM CONQ_RS_PRODUTOS WHERE CONQ_PRODNome LIKE '%" & CONQ_BUSCA & "%' AND CONQ_PRODFabricante = '"& CONQ_FABRI &"'"
	END IF
END IF

testa ai pra ver

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo!

 

Agora realmente não deu erro nenhum, mas aqui ainda não funcionou o 3 IF...

 

quando digito algo assim asdjashkdjashkdfjaskfdjgsadlkfjgasldf

 

ele me abre uma busca diferente, tipo:

 

 

INPUT + COMBO + BOTAO

 

Que no caso o input fica branco, e as combo preenchidas com as categorias

Acho que deve ser por isso, acho que teria que ter mais if no terceiro, para verificar isso,

 

1) se só a categoria fosse preenchida, a gente faz um if, e se caso o input também for preenchido, faz outro.

 

 

pode me ajudar agora...

Acho que é isso.

 

 

Pus no server para vocês testarem, tá rodando lá.

Só para tu entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpa a demora, fui jantar Imagem Postada

os arquivos nao abrem no server...

 

posta o form que você ta usando

e essa parte do asp, junto com o request

se possivel manda a coluna do banco tb

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

VAMOS LÁ!

 

Acho estranho não conseguir abrir os arquivos, pois testei 2 vezes.

Mas tudo bem.

 

 

SEGUE CODIGOS:

 

 

BANCO DE DADOS MDB

Criar 2 tabelas chamadas de: TB_CD e TB_CRITERIO

 

TB_CD com os campos ID,MP3sigla,MP3nome,MP3estilo,MP3image

TB_CRITERIO com os campos ID,CDestilo

 

 

CONEXAO.ASP

<%
  strDBPath = Server.MapPath("busca.mdb")
  SERVER.SCRIPTTIMEOUT   = 5000
  RESPONSE.CHARSET	   = "ISO-8859-1"
  SET CX = Server.CreateObject("ADODB.Connection")
			  CAMINHO = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
	  CX.OPEN CAMINHO			  
%>

 

TOPO.ASP

<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>
<form action="default.asp" method="post" target="_parent"><table width="100%" height="48" border="0" align="center" cellpadding="1" cellspacing="3" bgcolor="#333333">
  <tbody>
	<tr>
	  <td class="rodapecreditos"><div align="center" class="style1">
		<div align="right">Localizar CD</div>
	  </div></td>
	  <td width="138" valign="middle"><div align="center">
		<input name="buscapesquisa" type="text" class="inputcategoria" id="buscapesquisa" onfocus="if (this.value == 'digite um cd aqui!'){ this.value = '' }" onblur="if (this.value == ''){ this.value = 'digite um cd aqui!' }" value="digite um cd aqui!" size="23" maxlength="30" />
	  </div></td>
	  <td width="91"><div align="center">
		<label>
		<div align="left">
		  <input type="submit" name="button" id="button" value="buscar" />
		</div>
		</label>
	  </div>
		<div align="left"></div></td>
	</tr>
  </tbody>
</table>
</form>

 

 

DEFAULT.ASP

`<!--#include file="conexao.asp" -->
<html>
<head>
<title>EXEMPLO DE BUSCA COM CATEGORIAS - ESTUDO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><style type="text/css">
</head>
<!--
body,td,th {
	font-size: 10px;
	color: #000000;
	font-family: Geneva, Arial, Helvetica, sans-serif;
}
body {
	background-color: #F2EFBB;
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
a:link {
	color: #FF9900;
}
a:visited {
	color: #FF9900;
}
a:hover {
	color: #CC0000;
}
a:active {
	color: #000000;
}
a {
	font-family: Geneva, Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: bold;
}
-->
</style>
<body>
<!--#include file="topo.asp" -->
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<%
Dim RS, PagNav, TotalPag, Anterior, Proximo, PagAtual, PaginaVisita
	MAX   = 5
	BUSCA = Replace(Replace(TRIM(Request("buscapesquisa")),"'",""),"digite um cd aqui!","")
	FABRI = Replace(TRIM(Request("buscafabricante")),"'","")
SET RS	= Server.CreateObject("ADODB.RECORDSET")
	CX.CursorLocation = 3
	RS.PageSize	   = MAX
	
	
  IF BUSCA = "" THEN
	 SQL = "SELECT * FROM TB_CD ORDER BY ID"
		
	 ELSEIF BUSCA <> "" AND FABRI = "" THEN
			SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%"& BUSCA &"%' OR MP3sigla LIKE '%"& BUSCA &"%' ORDER BY ID DESC"
	 
	 ELSEIF BUSCA <> "" AND FABRI <> "" THEN		
		 SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%" & BUSCA & "%' OR MP3sigla LIKE '%"& BUSCA &"%' AND MP3estilo = '"& FABRI &"' ORDER BY ID DESC"
	  
  END IF

	RS.OPEN SQL, CX
 IF RS.EOF THEN
%>
			<tr>
			  <td height="28" align="center" valign="top"><table width="100%" border="0" cellspacing="2" cellpadding="2">
					<tr class="fonteBr">
					  <td height="238" align="center"><FORM ACTION="<%= REQUEST.SERVERVARIABLES("SCRIPT_NAME") %>" METHOD="get" target="_parent">
						  <table border="0" align="center" class="bordatable">
							<tr>
							  <td height="40" valign="middle"> </td>
							  <td valign="middle"> </td>
							  <td valign="middle"> </td>
							  <td valign="middle"> </td>
							</tr>
							<tr>
							  <td height="40" valign="middle"> </td>
							  <td valign="middle"><div align="center">
								  <input name="buscapesquisa" type="text" class="inputcategoria" id="buscapesquisa" size="40">
							  </div></td>
							  <td valign="middle">
<%
SET combo = CX.Execute("SELECT * FROM TB_CRITERIO ORDER BY CDestilo ASC")
%>
<select name="buscafabricante" size="1" id="buscafabricante">
<% 
DO WHILE NOT combo.EOF 
%>
<option value="<%=combo("CDestilo")%>"><%=combo("CDestilo")%></option>
<%
combo.MoveNext
		Loop
%>
			</select></td>
						<td valign="middle"><input type="submit" name="button" id="button" value="buscar" />						</td>
							</tr>
							<tr>
							  <td colspan="4" valign="bottom"> </td>
							</tr>
							<tr>
							  <td colspan="4" valign="bottom"> </td>
							</tr>
							<tr>
							  <td colspan="4" valign="bottom"><div align="center">Sua busca não encontrou nada para a palavra digitada </div></td>
							</tr>
							<tr>
							  <td colspan="4" valign="middle"> </td>
							</tr>
							<tr>
							  <td colspan="4" valign="middle"></td>
							</tr>
							<tr>
							  <td colspan="4" valign="middle"> </td>
							</tr>
						  </table>
						<br>
						  <span class="rodape3titulo"><br>
						  <br>
						  </span>
					  </FORM></td>
					</tr>
				</table></td>
			</tr>
<%
ELSE
		PagNav = CInt(Request.QueryString("paginacao"))
	IF (PagNav = 0) THEN : PagNav = 1 : END IF

			   RS.AbsolutePage = PagNav
	TotalPag = RS.PageCount
%>
			<tr>
			  <td>
<% 
WHILE NOT RS.EOF AND RS.AbsolutePage = PagNav 
%>
				<table width="95%" border="0" align="center" cellpadding="2" cellspacing="2" class="bordatable">
	<tr  onMouseOver="mOvr(this,'#DFE6FD');" onClick="mClk(this);" onMouseOut="mOut(this,'#FFFFFF');" class="fontePr">
					  <td width="93" align="center"><div align="center"><a href="?Idproduto=<%=RS("ID")%>&paginacao=<%=PagNav%>" target="_parent"><img src="<%=RS("MP3image") %>" alt="<%=RS("MP3sigla")%>" width="59" height="61"></a></div></td>
					  <td width="1144" align="center" valign="top" class="fontePr"><table width="100%" border="0" cellspacing="2" cellpadding="2">
						  
						  <tr>
							<td width="9%" height="29" bgcolor="#F5DDA9" class="rodape2titulo"><div align="center">NOME DO CD:</div></td>
							<td width="1%" rowspan="2"><div align="center"></div></td>
							<td width="90%" colspan="2" bgcolor="#FFFFFF"><div align="left" class="rodape2titulo">  <%= UCase(RS("MP3nome")) %></div></td>
						  </tr>
						  
						  <tr>
							<td height="29" bgcolor="#F5DDA9" class="rodape3"><div align="center">CATEGORIA:</div></td>
							<td colspan="2" bgcolor="#FFFFFF"><div align="left" class="rodape2">  <%=RS("MP3estilo")%></div></td>
						  </tr>
					  </table></td>
					</tr>
				</table>
				<%
	RS.MoveNext : WEND
		Anterior = PagNav - 1
		Proximo  = PagNav + 1
	IF (Anterior <= 0) THEN : Anterior = 1 : END IF
	IF (Proximo > TotalPag) THEN : Proximo = TotalPag : END IF
%>			  </td>
			</tr>
			<tr>
			  <td height="28"> </td>
			</tr>
			<tr>
			  <td align="center" bgcolor="#333333"><table border="0" align="center" cellpadding="4" cellspacing="8" bgcolor="#333333">
				<tr>
				  <td bgcolor="#FFFFFF" class="fontePr"><div align="center">
					  <%
IF Request.QueryString("paginacao") = "" THEN
   Response.Write("Mostrando página 1 de "&TotalPag &"       ")
	   ELSE
	Response.Write("Mostrando página "&Request.QueryString("paginacao")&" de "& TotalPag &"    ")
END IF 
%>
				  </div></td>
<td class="pagNumber"><div align="center"><a href="?paginacao=1"> Retornar</a>
		  <%
   PaginaVisita = CInt(Request.QueryString("paginacao"))
IF PagNav > 1 THEN
%>
				  </div></td>
				  <td class="rodape4titulo"><div align="center"><a href="?paginacao=<%=Anterior%>" style="font: 12px Arial; color: #FFFFFF;"> <span class="rodape2titulo">«</span></a></div></td>
				  <%
END IF
	IF PagNav > 5 THEN
%>
				  <td class="fontePr"> <span class="rodape4titulo">...</span> </td>
				  <%
END IF
	IF PagNav <= 5 THEN
	IF TotalPag >= 5 THEN
	   FOR Jo = 1 TO 5
	IF PagNav = Jo THEN
%>
				  <td class="pagNumberMark"><div align="center"><%=Jo%></div></td>
				  <%
	ELSE
%>
				  <td class="pagNumberPequeno"><div align="center"><a href="?paginacao=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
				  <%
END IF
NEXT
ELSE
FOR Jo = 1 TO TotalPag
	IF PagNav = Jo THEN
%>
				  <td class="pagNumberMark"><div align="center"><strong><%=Jo%></strong></div></td>
				  <%
	ELSE
%>
				  <td class="pagNumberPequeno"><a href="?paginacao=<%=Jo%>" class="fonte"> <%=Jo%> </a></td>
				  <%
END IF
NEXT
END IF
END IF

IF PagNav > 5 THEN
	PagNav = PagNav + 4
	Pg = PagNav
	MaxB = Request.QueryString("paginacao") - 1
	
	IF (MaxB + 1) = TotalPag THEN
	FOR Jo = MaxB TO (Pg - 4)
		IF PaginaVisita = Jo THEN
		%>
				  <td class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
				  <%
		ELSE
		%>
				  <td class="pagNumberPequeno"><div align="center"><a href="?paginacao=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
				  <%
		END IF
	NEXT			
	ELSEIF (MaxB + 2) = TotalPag THEN
	   FOR Jo = MaxB TO (Pg - 3)
		IF PaginaVisita = Jo THEN
		%>
				  <td class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
				  <%
		ELSE
		%>
				  <td class="pagNumberPequeno"><div align="center"><a href="?paginacao=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
				  <%
		END IF
	NEXT
	ELSE
	FOR Jo = (MaxB - 1) TO (Pg - 2)
		IF PaginaVisita = Jo THEN
		%>
				  <td class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
				  <%
		ELSE
		%>
				  <td class="pagNumberPequeno"><div align="center"><a href="?paginacao=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
				  <%
		END IF
	NEXT
	END IF
END IF

IF (TotalPag <> PaginaVisita) AND (TotalPag >= 5) THEN
%>
				  <td class="fontePr"> <span class="rodape4titulo">...</span> </td>
				  <%
END IF
%>
				  <td class="pagNumber"><div align="center"><a href="?paginacao=<%=Proximo%>">Próximo</a></div></td>
				  <td class="pagNumber"><div align="center"><a href="?paginacao=<%=TotalPag%>">Último</a></div></td>
				</tr>
			  </table></td>
			</tr>
			<%
END IF
SET RS = NOTHING
%>
</table>

</body>
</html>

 

Se conseguir me ajudar agradeço, pois cheguei até aqui e não quero desistir, só estou me quebrando para fazer a busca funcionar mesmo, só dá erro mesmo quando digito na pesquisa asdkjlbaskdjaksdjaskdjvaks aí vai para outra busca onde tem uma combo com ESTILOS, e não funciona o IF.

 

 

Ficarei no teu aguardo.

Obrigado mais uma vez.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho estranho não conseguir abrir os arquivos, pois testei 2 vezes.

Mas tudo bem.

pra mim seria muito melho baixar os arquivos do que ter que ficar olhando aqui no forum

nem esse site abre http://free.7host05.com

 

olha, aqui rodou todos os casos:

1) apenas a palavra

2) apenas o estilo musical

3) palavra e estilo

 

segue o cod

 

IF BUSCA = "" AND FABRI = "" THEN
	response.Write "<p><b>caso 1<br>vamos listar todos registros com a paginacao</b></p>"
	SQL = "SELECT * FROM TB_CD ORDER BY ID"
elseIF BUSCA = "" AND FABRI <> "" THEN
	response.Write "<p><b>caso 2<br>temos apenas o estilo musical</b></p>"
	SQL = "SELECT * FROM TB_CD ORDER BY ID"
ELSEIF BUSCA <> "" AND FABRI = "" THEN
	response.Write "<p><b>caso 3<br>temos a palavra buscada mas NÃO temos o estilo musical</b></p>"
	SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%"& BUSCA &"%' OR MP3sigla LIKE '%"& BUSCA &"%' ORDER BY ID DESC"
ELSEIF BUSCA <> "" AND FABRI <> "" THEN		
	response.Write "<p><b>caso 4<br>temos a palavra buscada e temos o estilo musical</b></p>"
	SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%" & BUSCA & "%' OR MP3sigla LIKE '%"& BUSCA &"%' AND MP3estilo = '"& FABRI &"' ORDER BY ID DESC"
END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo! DESISTO!

 

Nâo desisti ainda, mas realmente, no caso ao digitar askdabskdjabskdjabskdjbaksjdb ele ainda não funciona.

 

TENTA FAZER ASSIM:

 

Quando você digita algo que não encontra, ele abre uma busca no meio com INPUT VAZIO + COMBO ESTILOS PREENCHIDA + BUTTON.

Digamos que ele não faça nada alí, e clica no buscar, ele não acha nada, e não faz corretamente.

 

PODE TESTAR, acabei de fazer aqui, e ainda não vai.

Só funciona, se ele digitar algo no input, e selecionar algo no combo dos estilos e apertar o button.

 

 

Veja aí...

Testei em 4 brownsers aqui, e nenhum funciona esta parte.

Só falta isso agora.

 

 

O resto tá ok!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha so

caso 1:

http://img2.imageshack.us/my.php?image=caso1.jpg

 

caso2:

http://img12.imageshack.us/my.php?image=caso2.jpg

 

caso3:

http://img10.imageshack.us/my.php?image=acso3.jpg

 

 

se você digitar "askdabskdjabskdjabskdjbaksjdb" ele cai no caso 3, pq tem palavra buscada mas NÃO tem o estilo musical

da uma olhada nas telas e me diga se nao estao corretas

um caso quando busca a palavra, outro quando busca pelo estilo e outro quando busca por ambos

 

......

nao sei se foi pq eu alterei o seu codigo, talvez por isso aqui esteja rodando

como estava uma zona total aquele esquema de tabelas, eu tirei tudo pra ficar mais limpo

vou postar aqui e você roda

 

obs, tb nao desisti ainda

vamos ver no que vai dar agora

 

 

<%
  strDBPath = Server.MapPath("bd1.mdb")
  SERVER.SCRIPTTIMEOUT   = 5000
  RESPONSE.CHARSET	   = "ISO-8859-1"
  SET CX = Server.CreateObject("ADODB.Connection")
  CAMINHO = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
  CX.OPEN CAMINHO			  


Dim RS, PagNav, TotalPag, Anterior, Proximo, PagAtual, PaginaVisita
	MAX   = 5
	SET RS	= Server.CreateObject("ADODB.RECORDSET")
	CX.CursorLocation = 3
	RS.PageSize	   = MAX
	
BUSCA = Request.Form("buscapesquisa")
FABRI = Request.Form("buscafabricante")

IF BUSCA = "" AND FABRI = "" THEN
	response.Write "<p><b>caso 1<br>vamos listar todos registros com a paginacao</b></p>"
	SQL = "SELECT * FROM TB_CD ORDER BY ID"
elseIF BUSCA = "" AND FABRI <> "" THEN
	response.Write "<p><b>caso 2<br>temos apenas o estilo musical</b></p>"
	SQL = "SELECT * FROM TB_CD ORDER BY ID"
ELSEIF BUSCA <> "" AND FABRI = "" THEN
	response.Write "<p><b>caso 3<br>temos a palavra buscada mas NÃO temos o estilo musical</b></p>"
	SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%"& BUSCA &"%' OR MP3sigla LIKE '%"& BUSCA &"%' ORDER BY ID DESC"
ELSEIF BUSCA <> "" AND FABRI <> "" THEN		
	response.Write "<p><b>caso 4<br>temos a palavra buscada e temos o estilo musical</b></p>"
	SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%" & BUSCA & "%' OR MP3sigla LIKE '%"& BUSCA &"%' AND MP3estilo = '"& FABRI &"' ORDER BY ID DESC"
END IF


RS.OPEN SQL, CX

response.Write "-------------------"
DO WHILE NOT RS.EOF
response.Write "<br>"&rs("mp3Nome")&"<br>"
RS.MoveNext
Loop
response.Write "-------------------"

SET RS = NOTHING
%>

<FORM method="post" >
<p>buscapesquisa: <input name="buscapesquisa" type="text" class="inputcategoria" id="buscapesquisa" size="40"></p>
<%SET combo = CX.Execute("SELECT * FROM TB_CRITERIO ORDER BY CDestilo ASC")%>
<p>buscafabricante: <select name="buscafabricante" size="1" id="buscafabricante">
<option value="">selecione</option>
<%DO WHILE NOT combo.EOF%>
<option value="<%=combo("CDestilo")%>"><%=combo("CDestilo")%></option>
<%combo.MoveNext
Loop%>
</select></p>
<p>sem resultado</p>
<input alt="Comentar" title="Comentar" type="image" src="<%=url_site%>img/botoes/comentar_off.jpg" id="BTComent" style="border:0px" /></FORM>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá DESISTO!

 

Realmente funcionou, mas AINDA um problema, veja só!

Dei uma modificada, pegue e cola aí no teu exemplo:

 

<%
  strDBPath			  = Server.MapPath("busca.mdb")
  SERVER.SCRIPTTIMEOUT   = 5000
  RESPONSE.CHARSET	   = "ISO-8859-1"
  SET CX = Server.CreateObject("ADODB.Connection")
	  CAMINHO = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
	  CX.OPEN CAMINHO			  

	  MAX   = 5
  SET RS	= Server.CreateObject("ADODB.RECORDSET")
	  CX.CursorLocation = 3
	  RS.PageSize	   = MAX
	
BUSCA = Request.Form("buscapesquisa")
ESTILO = Request.Form("buscaestilo")

 IF BUSCA = "" AND ESTILO = "" THEN
	  response.Write "<span class=""style1"">CASO 1</span><br>vamos listar todos registros com a paginacao"
	  SQL = "SELECT * FROM TB_CD ORDER BY ID"
	
		 ELSEIF BUSCA = "" AND ESTILO <> "" THEN
				  response.Write "<span class=""style1"">CASO 2</span><br>temos apenas o estilo musical"
				  SQL = "SELECT * FROM TB_CD ORDER BY ID"
	
		 ELSEIF BUSCA <> "" AND ESTILO = "" THEN
				  response.Write "<span class=""style1"">CASO 3</span><br>temos a palavra buscada mas NÃO temos o estilo musical"
				  SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%"& BUSCA &"%' OR MP3sigla LIKE '%"& BUSCA &"%' ORDER BY ID DESC"
	
		 ELSEIF BUSCA <> "" AND ESTILO <> "" THEN		
				  response.Write "<span class=""style1"">CASO 4</span><br>temos a palavra buscada e temos o estilo musical"
				  SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%" & BUSCA & "%' OR MP3sigla LIKE '%"& BUSCA &"%' AND MP3estilo = '"& ESTILO &"' ORDER BY ID DESC"
 END IF


 RS.OPEN SQL, CX
	response.Write "<br>---------------------------------------------------------------------------------------------------------<br>"
		  DO WHILE NOT RS.EOF
	response.Write "<b>    "&RS("mp3Nome")&"</b> - "&RS("mp3Estilo")&"<br>"
 RS.MoveNext
	Loop
	response.Write "----------------------------------------------------------------------------------------------------------"

 SET RS = NOTHING
%>
<style type="text/css">
<!--
body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	text-decoration: none;
	color: #666666;
}
.style1 {
	color: #FF0000;
	font-weight: bold;
}
-->
</style>

<FORM action="default.asp" method="post" name="frm" target="_parent" id="frm" >
<p><strong>PESQUISAR</strong></p>
<input name="buscapesquisa" type="text" class="inputcategoria" id="buscapesquisa" size="20">
  <select name="buscaestilo" size="1" id="buscaestilo">
	<option value="">selecione</option>
	<%
	SET combo = CX.Execute("SELECT * FROM TB_CRITERIO ORDER BY CDestilo ASC")
	DO WHILE NOT combo.EOF
	%>
	<option value="<%=combo("CDestilo")%>"><%=combo("CDestilo")%></option>
	<%
	combo.MoveNext
		  Loop
	%>
  </select>
  <input type="submit" name="button" id="button" value="buscar ...">
</FORM>

 

1) O problema é que ao digitar SDVKNDFLKSDFLKSADFLKWAEFLK, ele vai mandar para o CASO 3, certo?

Aí se eu apenas clico no COMBO e escolho um estilo apenas e deixo o input em branco, veja o que acontece???, ele traz todos os registros, sem filtrar apenas pelo estilo. Ok!

 

 

2) Ele só traz os registros certos no CASO 3, se eu tambem ESCREVER algo no INPUT + selecionar um ESTILO.

Aí ele vai.

 

 

Realmente só falta resolver isso do item 1) acima:

E já tentei e não consigo, ainda estou cru para buscas...

Assim que conseguir, vou fazer um tutorial aqui, e vou imprimir para aprender de vez e não esquecer....

 

 

DESISTO, estamos chegando lá... só falta isso mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o caso 2 ficará assim:

response.Write "<p><b>caso 2<br>temos apenas o estilo musical</b></p>"

SQL = "SELECT * FROM TB_CD where MP3estilo = '"& FABRI &"' ORDER BY ID"

 

aqui rodou

acho que chegamos la Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu DESISTO!

 

 

Resolveu esta parte, GRAÇAS A DEUS, mas veja só.

Agora se eu escolho um estilo no combo, ex: gospel dance e no input coloco cassiane, ele deveria me trazer somente registros da CASSIANE com o filtro GOSPEL DANCE, certo?

 

Mas isso não acontece.

Acredito que só falta isso agora.

Pois já testei todas as possibilidades, e aparentemente só falta essa mesmo.

 

 

Como podemos resolver este ultimo problema.

 

 

 

Um forte abraço.

Até a próxima que DEUS TE ABENÇOE RICAMENTE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui o exemplo que você deu rodou normal

inseri CASSIANE e categoria GOSPEL

inseri CASSIANE e categoria GOSPEL DANCE

 

ambos foram exibidos no 'caso 4'

 

sera que você nao errou no bd?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, porque é o mesmo banco de dados.

 

Realmente, aqui se digito apenas CASSIANE NO INPUT + GOSPEL DANCE...

Acredito que ele teria que trazer somente CASSIANE + GOSPEL DANCE, e não gospel funk, e outros estilos da cassiane.

 

APENAS CASSIANE + GOSPEL DANCE

 

 

Entendeu???

No meu aqui aparece CASSIANE e mais gospel dance e gospel funk, ambos da cassiane.

 

Isso acho que está errado ainda.

Se escolho estilo GOSPEL DANCE, só deve mostrar registros da cassiane com os registros gospel dance, o restante não.

Acho que deve ser assim, mas não acontece.

 

 

Oque achas???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Há!

 

Tenta digitar aí no teu, CASSIANE no INPUT, depois na COMBO escolha GOSPEL DANCE.

para ver como eles traz realmente cassiane, mas acontece que ele não filtra só por GOSPEL DANCE, eles traz cassiane com outros ESTILOS também....

 

 

Só falta isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, é verdade

criei mais alguns registros e aconteceu isso mesmo que você falou

 

nessa SQL:

SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%" & BUSCA & "%' OR MP3sigla LIKE '%"& BUSCA &"%' AND MP3estilo = '"& FABRI &"' ORDER BY ID DESC"

 

a busca funciona se remover esse - OR MP3sigla LIKE '%"& BUSCA &"%'

que criterio é esse que você usa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá DESISTO!

 

Vou testar aqui tirando o MP3sigla, pois ele é um campo tipo ID, que no caso cada CD é representado tipo:

 

 

CD01ed4f

CD02safe

e assim vai.

 

 

Mas vou ver aqui, e realmente isso pra busca não acho importante.

Mas fica no aguardo.

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá DESISTO!

 

Realmente você estava certo, na MOSCA!

Resolvido até ai, mas só falta agora uma coisinha e terminamos de vez....

Veja se consegue me ajudar neste exemplo aqui:

 

É os mesmos códigos que estavamos usando, agora com a paginação.

<!--#include file="conexao.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>EXEMPLO DE BUSCA COM CRITERIOS E PAGINAÇÃO</title>
<style type="text/css">
<!--
body {
	margin-left: 10px;
	margin-top: 10px;
	margin-right: 10px;
	margin-bottom: 10px;
	background-color: #FFFFFF;
}
body,td,th {
	color: #666666;
	font-family: Georgia, Times New Roman, Times, serif;
	font-size: 11px;
}
a:link {
	color: #003366;
	text-decoration: none;
}
a:visited {
	color: #003366;
	text-decoration: none;
}
a:hover {
	color: #0099FF;
	text-decoration: none;
}
a:active {
	color: #FFFFFF;
	text-decoration: none;
}
a {
	font-family: Georgia, Times New Roman, Times, serif;
	font-size: 11px;
}
.style1 {
	font-weight: bold;
	color: #990000;
	text-decoration: none;
	font-family: Arial, Helvetica, sans-serif;
}
.style2 {
	font-weight: bold;
	color: #FF9900;
	text-decoration: none;
	font-family: Arial, Helvetica, sans-serif;
}
.style3 {
	font-weight: bold;
	color: #000000;
	text-decoration: none;
	font-family: Arial, Helvetica, sans-serif;
}
-->
</style>
</head>
<body>
<!--#include file="topo.asp" -->



<%
Dim RS, PagNav, TotalPag, Anterior, Proximo, PagAtual, PaginaVisita
	MAX   = 5
	BUSCA = Replace(Replace(TRIM(Request("buscapesquisa")),"'",""),"digite um cd aqui!","")
	ESTILO = Replace(TRIM(Request("buscaestilo")),"'","")
SET RS	= Server.CreateObject("ADODB.RECORDSET")
	CX.CursorLocation = 3
	RS.PageSize	   = MAX
	
 IF BUSCA = "" AND ESTILO = "" THEN
	  response.Write "<span class=""style1"">CASO 1</span> - Listagem de todos registros do banco de dados<br><br><br>"
	  SQL = "SELECT * FROM TB_CD ORDER BY ID"
	
		 ELSEIF BUSCA = "" AND ESTILO <> "" THEN
				  response.Write "<span class=""style1"">CASO 2</span> - Listagem do estilo musical<br><br><br>"
				  SQL = "SELECT * FROM TB_CD WHERE MP3estilo = '"& ESTILO &"' ORDER BY ID"
	
		 ELSEIF BUSCA <> "" AND ESTILO = "" THEN
				  response.Write "<span class=""style1"">CASO 3</span> - Listagem da palavra buscada sem o estilo musical<br><br><br>"
				  SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%"& BUSCA &"%' OR MP3sigla LIKE '%"& BUSCA &"%' ORDER BY ID DESC"
	
		 ELSEIF BUSCA <> "" AND ESTILO <> "" THEN		
				  response.Write "<span class=""style1"">CASO 4</span> - Listagem da palavra buscada com o estilo musical<br><br><br>"
				  SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%" & BUSCA & "%' AND MP3estilo = '"& ESTILO &"' ORDER BY ID DESC"
 END IF

	RS.OPEN SQL, CX
 IF RS.EOF THEN
%>
  <form action="default2.asp" method="get" target="_parent" id="frm">
			<div align="left">
			  <input name="buscapesquisa" type="text" id="buscapesquisa" size="40" />
						<select name="buscaestilo" size="1" id="buscaestilo">
						  <option value="">selecione</option>
						  <%
SET combo = CX.Execute("SELECT * FROM TB_CRITERIO ORDER BY CDestilo ASC")
DO WHILE NOT combo.EOF
%>
						  <option value="<%=combo("CDestilo")%>"><%=combo("CDestilo")%></option>
						  <%
combo.MoveNext
	  Loop
%>
						</select>
			  <input type="submit" name="button2" id="button2" value="buscar" />
			  <br />
  <div align="center" class="style3">
	<div align="left"><br />
	  Sua busca não encontrou nada para a palavra digitada<span class="rodape3titulo"><br>
	</span></div>
  </div>
</form>
  <%
ELSE
		PagNav = CInt(Request.QueryString("paginacaodosdados"))
	IF (PagNav = 0) THEN : PagNav = 1 : END IF

			   RS.AbsolutePage = PagNav
	TotalPag = RS.PageCount

WHILE NOT RS.EOF AND RS.AbsolutePage = PagNav 
%>


	<div align="left" class="style3">  <%= UCase(RS("mp3Nome")) %></div>
	<div align="left" class="rodape2">  <%=RS("mp3Estilo")%></div>
	<br />
	<%
	RS.MoveNext : WEND
		Anterior = PagNav - 1
		Proximo  = PagNav + 1
	IF (Anterior <= 0) THEN : Anterior = 1 : END IF
	IF (Proximo > TotalPag) THEN : Proximo = TotalPag : END IF
%>
<br />
<br />
<br />
<table border="0" cellpadding="0" cellspacing="6">
<tr>
				  <td class="pagNumber"><div align="center"><a href="?paginacaodosdados=1" class="style2"> Retornar</a>
					<%
   PaginaVisita = CInt(Request.QueryString("paginacaodosdados"))
IF PagNav > 1 THEN
%>
				  </div></td>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="rodape4titulo"><div align="center"><a href="?paginacaodosdados=<%=Anterior%>" style="font: 12px Arial; color: #FFFFFF;"> <span class="style3">«</span></a></div></td>
				  <%
END IF
	IF PagNav > 5 THEN
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="fontePr"> 
					<div align="center"><span class="style2">...</span> </div></td>
<%
END IF
	IF PagNav <= 5 THEN
	IF TotalPag >= 5 THEN
	   FOR Jo = 1 TO 5
	IF PagNav = Jo THEN
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><%=Jo%></div></td>
<%
	ELSE
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
END IF
NEXT
ELSE
FOR Jo = 1 TO TotalPag
	IF PagNav = Jo THEN
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><strong><%=Jo%></strong></div></td>
<%
	ELSE
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
END IF
NEXT
END IF
END IF

IF PagNav > 5 THEN
	PagNav = PagNav + 4
	Pg = PagNav
	MaxB = Request.QueryString("paginacaodosdados") - 1
	
	IF (MaxB + 1) = TotalPag THEN
	FOR Jo = MaxB TO (Pg - 4)
		IF PaginaVisita = Jo THEN
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
<%
		ELSE
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
		END IF
	NEXT			
	ELSEIF (MaxB + 2) = TotalPag THEN
	   FOR Jo = MaxB TO (Pg - 3)
		IF PaginaVisita = Jo THEN
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
<%
		ELSE
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
		END IF
	NEXT
	ELSE
	FOR Jo = (MaxB - 1) TO (Pg - 2)
		IF PaginaVisita = Jo THEN
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
<%
		ELSE
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
		END IF
	NEXT
	END IF
END IF

IF (TotalPag <> PaginaVisita) AND (TotalPag >= 5) THEN
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="fontePr"> 
					<div align="center"><span class="rodape4titulo">...</span> </div></td>
<%
END IF
%>
				  <td class="pagNumber"><div align="center"><a href="?paginacaodosdados=<%=Proximo%>" class="style2">Próximo</a></div></td>
				  <td class="pagNumber"><div align="center"><a href="?paginacaodosdados=<%=TotalPag%>" class="style1">Último</a></div></td>
  </tr>
</table>


<%
END IF
SET RS = NOTHING
%>


</body>
</html>

 

Esta paginação é uma do TED K que peguei, e estou adaptando, mas noto que nesta busca, tipo:

 

1) se digito asdlkashdlkasldkasldkagsld ele me manda para o caso 3, aí escolho CASSIANE, ele me mostra numa boa....

2) mas o problema é que na paginação, se eu clicar na parte do link PROXIMO, ele já monta todos os registros novamente.

 

Como só encontrou um registro ou dois, ele não poderia ao clicar no proximo exibir todos os registros. certo!

 

 

Será que consegue me ajudar a finalizar 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.