Ir para conteúdo

POWERED BY:

Arquivado

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

guilhermezd

Select palavras-chave

Recommended Posts

Boa tarde galera,

 

Estou criando um Select em ASP e estou com dificuldade.

 

Tenho uma tabela NOTICIAS em mysql com as colunas titulo,subtitulo,texto,palavra_chave.

 

na coluna palavra_chave(varchar(255)) tem dados tipo "casa, arquitetura, apartamento" por exemplo. palavras chaves separadas por virgula.

 

Gostaria de fazer um select pra listar noticias relacionadas a aquela que está sendo visualizada a partir das palavras-chaves q eu cadastrei nessa noticia que está sendo vista, ou seja ele busca outras noticias que contem no titulo,subtitulo,texto ou palavra-chave, a palavra-chave na noticia.

 

Criei assim, só q só lista noticias a partir da primeira palvra chave cadastrada.

 

' SELECT Q PUXA A NOTICIA A PARTIR DA QUERYSTRING COD (NOTICIA.ASP?COD=23)

SQL = "SELECT * FROM noticias WHERE ativo='1' and codigo ='"&cod&"' order by data"

noticia.OPEN SQL,Conexao

 

' SELECT Q PUXA OUTRAS NOTICIAS a partir da palavra-chave noticia("palavra_chave")

"SELECT codigo,titulo FROM noticias WHERE ativo='1' AND (titulo LIKE '"& "%" &noticia("palavra_chave")& "%" &"' or subtitulo LIKE '"& "%" &noticia("palavra_chave")& "%" &"' or texto LIKE '"&"%"&noticia("palavra_chave")&"%"&"' or palavra_chave LIKE '"& "%" &noticia("palavra_chave")&"%"&"') order by codigo LIMIT 10"

 

Só está listando noticias com a 1a palavra chave. no caso casa.

 

Alguem tem alguma ideia?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde galera,

 

Estou criando um Select em ASP e estou com dificuldade.

 

Tenho uma tabela NOTICIAS em mysql com as colunas titulo,subtitulo,texto,palavra_chave.

 

na coluna palavra_chave(varchar(255)) tem dados tipo "casa, arquitetura, apartamento" por exemplo. palavras chaves separadas por virgula.

 

Gostaria de fazer um select pra listar noticias relacionadas a aquela que está sendo visualizada a partir das palavras-chaves q eu cadastrei nessa noticia que está sendo vista, ou seja ele busca outras noticias que contem no titulo,subtitulo,texto ou palavra-chave, a palavra-chave na noticia.

 

Criei assim, só q só lista noticias a partir da primeira palvra chave cadastrada.

 

' SELECT Q PUXA A NOTICIA A PARTIR DA QUERYSTRING COD (NOTICIA.ASP?COD=23)

SQL = "SELECT * FROM noticias WHERE ativo='1' and codigo ='"&cod&"' order by data"

noticia.OPEN SQL,Conexao

 

' SELECT Q PUXA OUTRAS NOTICIAS a partir da palavra-chave noticia("palavra_chave")

"SELECT codigo,titulo FROM noticias WHERE ativo='1' AND (titulo LIKE '"& "%" &noticia("palavra_chave")& "%" &"' or subtitulo LIKE '"& "%" &noticia("palavra_chave")& "%" &"' or texto LIKE '"&"%"&noticia("palavra_chave")&"%"&"' or palavra_chave LIKE '"& "%" &noticia("palavra_chave")&"%"&"') order by codigo LIMIT 10"

 

Só está listando noticias com a 1a palavra chave. no caso casa.

 

Alguem tem alguma ideia?

 

Valeu

 

 

Umas dicas legais sobre "like" que me ajudam muito hehehe

 

Ex: VariaveldeBusca = hospedagem

 

Se você usa

like '%VariaveldeBusca%'

quando você faz uma consulta desta a consulta vai trazer tudo que contenha a palavra hospedagem independente se ela esta no inicio, meio ou fim.

 

se voce usa

like '%VariaveldeBusca'

ele tras tudo que termina com Hospedagem

 

e se voce usar like 'VariaveldeBuscaa%' ele tras tudo que inicia com hospedagem

 

eu colocaria sua SELECT desta forma

 

"SELECT codigo,titulo FROM noticias WHERE ativo='1' AND marca LIKE '%"&noticia("palavra_chave")&"%' OR subtitulo LIKE '%"&noticia("palavra_chave")&"%' OR texto LIKE '%"&noticia("palavra_chave")&"%' OR palavra_chave LIKE '%"&noticia("palavra_chave")&"%' ORDER BY codigo LIMIT 10"

Fiz um teste parecido aqui e não deu erro ve ai e diz o que acontece =)

 

Qualquer coisa tenta por em todos os "OR" colocar "AND" também só para ver o que pode acontecer...

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.