Ir para conteúdo

Arquivado

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

DackAle

Instr, left e right

Recommended Posts

E ae galera =)

 

Seguinte fiz uma busca no meu site, ja fiz o sisteminha de trocar caracteres (tipo á, â, por a por exemplo) ja troquei o termo nos resultados por negrito... mas a unica coisa que falta é limitar igual no google o resultado... exemplo:

 

iMasters

iMasters - Comunidade de profissionais, estudantes e mestres em tecnlogias e ferramentas

voltadas para o desenvolvimento web. ... Conheça as camisetas iMasters, ...

www.imasters.com.br/ - 94k - 19 out. 2004 - Em cache - Páginas Semelhantes

tipo primeira linha o titulo... e duas linhas com descrição... bom a logica ja até pensei...

 

Tipo vou com o instr procurar o termo buscado, vou salvar a posição dele, e com o left pego tantos caracteres antes e com oright tantos caracteres depois... bom acredito que seja isso... mas na logica num deu certo...rs

 

ASP [/tr][tr]<%

busca = request("busca")

busca = replace(busca,"a","[a,á,à,ã,â,ä]")

busca = replace(busca,"e","[e,é,è,ê,ë]")

busca = replace(busca,"i","[i,í,ì,î,ï]")

busca = replace(busca,"o","[o,ó,ò,õ,ô,ö]")

busca = replace(busca,"u","[u,ú,ù,û,ü]")

busca = replace(busca,"c","[c,ç]")

 

SQL="SELECT * FROM noticias WHERE descricao LIKE '%" & busca & "%' OR titulo LIKE '%" & busca & "%'"

RS.Open SQL,Conexao

 

if not rs.eof then

%>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<%

while not rs.eof

busca_final = "<b>" & busca & "</b>"

descricao = rs("descricao")

descricao = Replace(descricao,chr(13),"<br>")

descricao = Replace(descricao,busca,busca_final)

%>

[/tr]

 

Até aqui faço o tratamento e a busca da palvra ta OK.

 

ASP [/tr][tr]<%

busca2 = instr(1,descricao,busca) %>

<% if busca2 <> 0 then %>

Busca certa

<% end if %>

[/tr]

 

dai aqui tentei procurar desde o caracteres 1 no cmpo descricao a palavra buscada... mas num me retorna este "busca certa" sempre... apesar de a busca estar certa...

 

Alguem consegue me ajudar a montar esse sisteminha ? =)

 

Abração e valeuuuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos levar em consideração que você já tem a posição do texto certo?

 

ASP [/tr][tr]Mid(string, start[, length])[/tr]

 

vamos supor que o numero de caracteres q você quer antes e depois seja 200 ok?

 

Onde start seria a posição - 200

 

E lenght nada mais é do que a posição do texto + 200

Compartilhar este post


Link para o post
Compartilhar em outros sites
[tr][/tr][tr][/tr]
ASP <%

 

Descricao = "abcdefghijklmnopqrstuvwxyz"

Busca = "lm"

Posicao = INSTR(1,Descricao,Busca)

Antes = 5

Depois = 5

Resultado = MID(Descricao,Posicao - Antes,LEN(Busca)+Antes+Depois)

 

response.write "Descricao = " & Descricao & "<br>"

response.write "Busca = " & Busca & "<br>"

response.write "Busca2 = " & Busca2 & "<br>"

response.write "Resultado = " & Resultado & "<br>"

%>

 

a parti disso adapta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmmmmmm valeu pela ajuda dos dois, acho que entendi, vou tentar adaptar e depois fazer sozinho, valeu pelo help galera ;) Abração =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

:) até q minha idéia não foi muito inutil.. eu num coloquei code pq to sem dreamweaver então da medo de errar na sintaxe :P Mando bem mariofa

Compartilhar este post


Link para o post
Compartilhar em outros sites

:) até q minha idéia não foi muito inutil.. eu num coloquei code pq to sem dreamweaver então da medo de errar na sintaxe :P

 

Mando bem mariofa

dreamweaver ...

 

Quem derá, aqui no trampo é uma onda... só programas licenciados, só licenças microsoft...

 

Advinhem o que tenho que aturar...

 

FrontPage... que porcaria, mexe todo meu codigo

 

Ei Delete daonde saiu aquele mariofa

Compartilhar este post


Link para o post
Compartilhar em outros sites

mariofa ? rs

 

bom entendi seu codigo =D

 

mas está dando o seguinte erro:

 

Chamada de procedimento ou argumento inválido: 'mid'

/Daryus 3/busca.asp, line 102

eu acho que ele não ta pegando o valor do instr certo... talve tenha haver com isso... serA ?

 

mas aparentemente está ok...

 

ASP [/tr][tr]

<% posicao = INSTR(1,descricao,busca) %>

<% resultado = mid(descricao,posicao,100) %>

<% = resultado %>

[/tr]

 

to tentando fazer a minha versão agora, o meu da o mesmo erro que o seu... <_< hahahahah valeu pela ajuda até agora =)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse erro é o seguinte, a partir da posicao que você indica não deve haver 100 caracteres, então acho que deve ter um teste de comprimento antes de mostrar o lance, não sei se fui claro

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.