Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera estou com um probleminha. QUando digito alguma palavra no sistema de busca, retorna sempre dizendo que não encontrou nenhum resultado, sendo que há registros com a palavra solicitada. Fiz um resumo no code, pra facilitar. Um abraço e valeu por quem puder ajudar. :)
<!--#include file="conectar.asp"--><body background="arquivos/bg.jpg" leftmargin="0" topmargin="15" marginwidth="0" marginheight="10" onLoad="MM_preloadImages('arquivos/ico_cont.gif','arquivos/ico_fav.gif','arquivos/ico_home.gif')"><div id="Layer1" style="position:absolute; left:145px; top:253px; width:573px; height:445px; z-index:1;"> <br> <tr> <td height="106"> <table width="407" border="0" align="center" cellpadding="0" cellspacing="0" class="texto"> <tr> <td colspan="3"><% ' Vamos recuperar a variável do formulário:nomebusca = Request.Form("nomebusca")'Abre o Recordset para todas as noticiasSet RS = Server.CreateObject( "ADODB.Recordset" )RS.ActiveConnection = dbRS.open "SELECT id, manchete, data, data_simples FROM Noticias WHERE manchete LIKE '%" & nomebusca & "%' ORDER BY data DESC LIMIT 13"%> <% IF NOT RS.EOF AND nomebusca <> "" THEN%> <table width="204" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="texto">Resultado(s) da busca:</td> </tr> </table> <%WHILE NOT RS.EOF%> <table width="581" height="40" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="5" colspan="2"><img src="noticias/arquivos/linha.gif" width="580" height="1"></td> </tr> <tr class="texto"> <td width="480"> <div align="left"><a href="vernoticia.asp?id=<%=rs("id")%>"> <%=rs("data_simples")%> - <%=rs("manchete")%></a> </div></td> <td width="101"><strong><a href="vernoticia.asp?id=<%=rs("id")%>">< saiba mais ></a></strong></td> </tr> </table> <%RS.MoveNextWEND%></td> </tr> <tr> <td height="44"> <%ELSE%> <table width="524" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="texto"><div align="center"><strong>A busca não encontrou nenhuma notícia relacionado ao ítem pesquisado.</strong></div></td> </tr> </table><%END IF%> </td> </tr> </table> <% RS.Close db.Close %>
vou fazer um teste aqui usando o request.w
Continua no mesmo esquema.
Fiz uma alteração e ficou assim:
<% IF NOT RS.EOF AND nomebusca <> "" THENresponse.write("SELECT id, manchete, data, data_simples FROM Noticias WHERE manchete LIKE '%" & nomebusca & "%' ORDER BY data DESC LIMIT 13")%>
galera estou avisando que já consegui resolver o problema. Fiz uma "muqueca" aqui e no final ficou uma beleza... tá tudo funcionando certinho.QUem for o moderador do fórum, pode remover o tópico, pois consegui solucionar aqui o caso.Obrigado a quem leu e/ou respondeu minha dúvida.abrço
poderia compartilhar a solução com a galera?
Fiz um resumo aqui no code, pra mostrar realmente o que interessa.Minha solução para o problema foi a seguinte:
<!--#include file="conectar.asp"--><% ' Vamos recuperar a variável do formulário:nomebusca = Request.Form("nomebusca")'Abre o Recordset para todas as noticiasSet RS = Server.CreateObject( "ADODB.Recordset" )RS.ActiveConnection = dbRS.open "SELECT id, manchete, data, data_simples FROM Noticias WHERE manchete LIKE '%" & nomebusca & "%' ORDER BY data DESC LIMIT 13"%> <% IF NOT RS.EOF AND nomebusca <> "" THEN'response.write("SELECT id, manchete, data, data_simples FROM Noticias WHERE manchete LIKE '%" & nomebusca & "%' ORDER BY data DESC LIMIT 13")%> <br><br> <table width="570" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="texto"><strong>Resultado(s) da busca por: <em><%= nomebusca%></em></strong></td> </tr> </table> <br><%WHILE NOT RS.EOF%> <table width="581" height="40" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="5" colspan="2"><img src="noticias/arquivos/linha.gif" width="580" height="1"></td> </tr> <tr class="texto"> <td width="480"> <div align="left"><a href="vernoticia.asp?id=<%=rs("id")%>"> <%=rs("data_simples")%> - <%=rs("manchete")%></a> </div></td> <td width="101"><strong><a href="vernoticia.asp?id=<%=rs("id")%>">< saiba mais ></a></strong></td> </tr> </table> <%RS.MoveNextWEND%></td> </tr> <tr> <td height="44"> <%ELSE%> <table width="524" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="texto"><div align="center"><strong>A busca não encontrou nenhuma notícia relacionado ao ítem pesquisado.</strong></div></td> </tr> </table><%END IF%><% RS.Close db.Close %>
O problema era que quando eu digitava algo em um input chamado nomebusca , sempre me retornava "nenhum registro encontrado" sendo que existia sim um registro com a tal palavra pesquisada. Foi aí que voltei todo o "filme" e fui olhando parte a parte. Então descobri que o nome do input tava como outro nome, e não como "nomebusca". Entao mudei o nome, e fui dá uma olhada no arquivo que efetua a action. Alterei tudo direitinho e ficou nota 10.DiCA: antes de ficar quebrando a cabeça, volte ao início do problema :)
você já mandou escrever o sql?
nomebusca = Request.Form("nomebusca")response.write("SELECT id, manchete, data, data_simples FROM Noticias WHERE manchete LIKE '%" & nomebusca & "%' ORDER BY data DESC LIMIT 13")Seu banco de dados é mysql?