A lógica do meu script funciona da seguinte maneira:
Tenho na minha tabela de noticias, um campo chamado PALAVRACHAVE, onde cadastro algumas palavras-chave da notícia para que depois eu possa montar minha lista de "notícias relacionadas". Porém não estou conseguindo fazer isso funcionar corretamente, o resultado aparece muito estranho, não consigo descobrir o erro.
Vamos ao código:
Para exemplificar o que está acontecendo, digamos que tenho 5 noticias cadastradas da seguinte maneira:
Campo PALAVRACHAVE (tabela – 1NOTICIA):
1 - flamengo
2 – vasco
3 – flamengo, botafogo
4 – botafogo, vasco
5 – vasco, flamengo
As "notícias relacionadas" aparecem da seguinte forma:
Na Notícia 1 – (aparece a 3 e 5) – CORRETO
Na Notícia 2 – (aparece a 4 e 5) – CORRETO
Na Notícia 3 – (aparece a 4) - ERRADO, DEVERIA APARECER A 1, 4 E 5
Na Notícia 4 – (aparece a 2 e 5) - ERRADO, DEVERIA APARECER A 2, 3 E 5
Na Notícia 5 – (aparece a 1 e 3) - ERRADO, DEVERIA APARECER A 1, 2, 3 E 4 - ou as 3 ultimas, pois defino TOP 3 na consulta.
meu código:<%strpalavrachave = objRS("palavrachave")MyArray = Split(strpalavrachave," ")strcodnoticia = objRS("cod_noticia")For I=LBound(MyArray) To UBound(MyArray)Set relacionadas = Server.CreateObject("ADODB.Recordset")relacionadas.Open "SELECT TOP 3 * FROM 1NOTICIA WHERE palavrachave LIKE '%" & MyArray (I) & "%' and cod_noticia <>" & strcodnoticia & " and destaque='s' ORDER BY cod_noticia", ConexaoNextIf relacionadas.EOF = true thenelse%><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><th colspan="2" align="left" bgcolor="#E2E2E2" class="texto1" scope="row">Notícias relacionadas:</th></tr></table><%while Not relacionadas.EOF%> <table width="100%" border="0" cellpadding="0" cellspacing="1" bordercolor="#FFFFFF"><tr><th width="12%" align="left" bgcolor="#E2E2E2" class="data" scope="row"><%= relacionadas("dtnoticia") %></th><th width="88%" align="left" bgcolor="#E2E2E2" class="texto" scope="row"><a href="..."><% = relacionadas("titulo") %></a></th></tr></table><%relacionadas.MoveNextwend End if%>
Pelo o que percebo, quando a busca é só com 1 palavra, ele pega bleza... mas se o campo tiver
2 palavras para busca, ele pega somente a 2ª palavra.
Por favor, não sei mais o que fazer, já tentei de um monte de jeito e nada de funcionar corretamente.
Abraços!
Então broder,você conseguiu resolver o problema? Eu estava querendo fazer justamente isso e pensei na mesma lógica que você pensou, através das palavras chave. MAs já que tu disse que nao deu certo...
abraços..