Jump to content


Photo

Erro Em "notícias Relacionadas"


  • Faça o login para participar
2 replies to this topic

#1 Christiano N.

Christiano N.

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/04/2007, 10:55

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:
[codebox]<%

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", Conexao

Next

If relacionadas.EOF = true then

else

%>
<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.MoveNext
wend
End if
%>
[/codebox]

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!

#2 Rique

Rique

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 04/05/2007, 08:49

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:


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..

#3 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 11/05/2007, 10:27

pra notícias relacionadas vc pode fazer da seguinte forma:

- primeiro faça um select normal
- nesse select vc usa o like assim:
palavra_chave = variavel_com_sua_palavra_puxando_do_banco
select * from tabela where campo like '%"&palavra_chave&"%'
- depois faça a listagem desse select
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq