Ir para conteúdo

POWERED BY:

Arquivado

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

PIFFARETTI

[Resolvido] Busca Interna sem Banco de Dados em tempo real

Recommended Posts

Olá, procurei aki no forum e nao achei nada parecido.

 

Nao sou muito expert em PHP nao...

Vou dar um exemplo do q eu quero.

 

Tenho uma página com o nome de todas as cores que existe no mundo e a historia de cada uma( eh um exemplo só!)

 

Ai queria criar um campo de busca, aonde o cara por exemplo, digitasse lá VERMELHO..

ao dar um ENTER ele fosse e caísse direto la aonde ta o Vermelho

e mostrssse la o texto sobre ele..

Na pagina eu teria tudo completo, mais se o cara nao quisesse ficar rolando a barra, ele usuaria essa busca e ja cairia direto aonde ele quer.

 

Bom, vi um pessoal fazendo isso usando sistema do google..nao quero isso!Tbm tem como fazer isso com banco de dados..tbm nao serve!

 

Queria q fosse uma busca em tempo real..o cara digita, da um enter e ja cai direto la!sem requisitar uma nova pagina!

 

uM EXEMPLO PERFEITOOOO do q eu qro:

 

Sabe quando você tá no firefox ou internet explorer, você vai em buscar, ou dá um CRT+F e digita ali um texto, depois da um ENTER e ja cai la aonde você queria?

É isso q eu qro!

 

Lendo mais ou menos ouvi falar em cadastrar palavras chaves.. mais não sei fazer isso..Se alguem puder me ajudar! Agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

então acho q você terá que usar javacsript cara..

 

deixa lá teu input.. e após apertar ENTER, você trabalhar com ancoras.. sendo a busca, o nome da ancora

 

<div id="vermelho">Texto sobre o vermelho</div>

 

...

 

window.location.href = '#vermellho';

dá até para colocar um efeito, nessa rolagem, usando um plugin jQuery, o scrollTo

 

boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

uê..

 

<div id="vermelho">

 

<div id="amarelo">...

 

<input type="text" name="busca" value="vermelho" />...

 

agora, se o cara procurar por 'verm'

ai você vai ter um trabalhinho com ER.. ou com Arrays, para saber pra onde levar o cara...

 

foi a única coisa que consegui pensar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, gostaria de agradecer a ajuda de vcs, eu nao saco muito mais vou tentar fazer, mais pela logica entendi mais ou menos.. Só fiquei na duvida na hora do campo busca <input type="text" name="busca" value="vermelho" />

Como vou pegar esse value? ai você deixou digitado por exemplo vermelho... mais se o cara digitar azul escuro?

como q ele vai transformar esse value="azul escuro" sozinho?

Eu nao deveria chamar esse value de uma variavwel qualquer , tipo, " consulta"

e ai depois verificar se minha variavel "consulta" corresponde a uma ancora da minha página?

 

ex: <input type="text" name="busca" value="consulta" />

 

 

Ai se o cara digitar lá AZUL MARINHO.

 

ai a variavel "consulta" armazena o valor AZUL MARINHO e compara com as ancoras, vê se tem alguma ancora com o nome AZUL MARINHO , se tiver ele me manda pra lá..

 

Não sei se to viajando demais, ou se tem algo q não estou enxergando.

E se minha ideia estiver correta, como q faço para associar a minha variavel "consulta" com as minahs ancoras?

 

TIPO:

 

IF "CONSULTA" = AZUL MARINHO GO TO #AZUL MARINHO

 

um negocio assim mais ou menos, se minha variavel igual a uma palavra chave vá para a ancora tal..

 

Será q meu raciocinio tá legal? se sim qual o codigo para isso?

Desculpa ai galera incomodar vcs!Sei q sou meio iniciante, entao tem q ir com calma! hauaaa

Compartilhar este post


Link para o post
Compartilhar em outros sites

REOLVIDO: http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

 

USEI ESTE CODIGO AKI MAIS ADAPTANDO ELE:

 

<html>


<head>
<script LANGUAGE="JavaScript">
<!--
var NS4 = (document.layers);
var IE4 = (document.all);

var win = this;
var n   = 0;

function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0) alert(str + " não está nesta página.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else
alert(str + " não foi encontrado nesta página.");
}
}
return false;
}
// -->
</script>
</head>

<body>

<form name=search onSubmit="return findInPage(this.string.value);">
digite a palavra script e tecle enter.
<input name=string type=text size=15 onChange="n = 0;">
</form>
</body>

</html>

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.