Dudu souza Postado Maio 7, 2009 Denunciar Share Postado Maio 7, 2009 Eu estou com um pequeno problema.Tenho um site que fiz todo em flash só que toda via preciso colocar um buscador interno.HELP!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Maio 8, 2009 Denunciar Share Postado Maio 8, 2009 lá dudu souza ^_^Seja mais específico, e de qualquer forma vai depender de como você organizar o conteudo, se for no caso ele retornar noticias ou posts por exemplo, eu os guardaria num XML e quando for usar a busca ela retorna o que for encontrado no XML;Quando especificar o que deseja eu lhe dou uma ajuda mais completa :)AbraçosPooh Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dudu souza Postado Maio 8, 2009 Autor Denunciar Share Postado Maio 8, 2009 Pooh;Tanto faz em XML ou MySQL + PHP... Desde que funcioneEu sei programar um pouco de cada. :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Maio 9, 2009 Denunciar Share Postado Maio 9, 2009 (editado) Bom dudu bolei um exemplo meio às pressas, porém é só o conceito que você deve pegar;Fiz em AS 2.0 por ser o mais utilizado, E fiz com xml;A lógica é a seguinte, temos um campo de Busca, e um campo de Resultados;Quando digitado no campo de busca uma palavra ele busca nos registros xml o resultado que possui essa palavra no meio dele;Para isso vamos pegar um xml:noticias.xml<?xml version="1.0" encoding="ISO-8859-1" ?> <news> <noticia id='0'>O ministro da Saúde, José Gomes Temporão, confirmou nesta sexta-feira mais dois casos de gripe suína no Brasil, chegando a seis o total de infectados. Em um dos casos, a transmissão ocorreu dentro do território brasileiro, no Rio de Janeiro...</noticia> <noticia id='1'>Em nota, o Ministério Público Federal considera a participação da Abin na Operação Satiagraha legal. Com a conclusão do inquérito da Polícia Federal que investigou a conduta do delegado Protógenes Queiróz à frente da Operação Satiagraha, os procuradores denunciam: "o delegado Protógenes Queiroz cometeu três crimes no período em que ficou a frente das investigações da Polícia Federal na Satiagraha: duas violações de sigilo funcional e uma fraude processual"...</noticia> <noticia id='2'>Os estragos causados pela chuva que atinge o País na última semana afetaram mais de 911 mil pessoas em 11 Estados. Cerca de 126 mil estão desabrigas e 57 mil desalojadas. O número de mortos chegou a 44 em oito Estados. Os dados foram divulgados nesta sexta-feira pela Secretaria Nacional de Defesa Civil (Sedec)...</noticia> </news> Como visto tenho 3 noticias diferentes, cada uma com seu ID unico e textos unicos. Quando queremos ver se achamos uma palavra "igual" isso implica várias condições de igualdade, ou seja o que mais teremos em nosso código são condições, simples sem segredo algun; Vai precisar na sua Cena, um campo INPUT de nome "search", um campo dinâmico de nome "resultado" e um botão; No meu caso utilizei o botão dos componentes do flash e o chamei de "meuBt"; feito isso vamos declará-los: System.useCodepage = true; var meuXML:XML = new XML(); var xmlReady:Boolean = false; var meuBt:Button = _root.meuBt; var Search:TextField = _root.search; var Resultado:TextField = _root.resultado; var palChave:String; var NumNoticia:Array = new Array(); var Noticias:Array = new Array(); var i:Number,j:Number,k:Number; useCodePage true, é para podermos usar caracteres especiais contidos na lingua latina; Temos nosso XML como "meuXML" ele que vai receber as noticias; Uma boleana, que vai dizer se nosso XML foi carregado ou não; declaramos nosso botao e os 2 campos de texto reespectivamente; E algumas outras variaveis tais para Contadores, receber a Palavra chave, receber as noticias e guardar o numero da noticia; meuXML.ignoreWhite = true; meuXML.onLoad = function(sucess) { if (sucess) { xmlReady=true; //setamos nossa boleana para dizer que o xml foi carregado com sucesso } } meuXML.load("noticias.xml"); Aqui puxamos nossas noticias do xml; meuBt.onPress = function(){ //pesquisar palChave = Search.text; testaPalavra(palChave); //Chamamos a função que vai verificar se nossa palavra existe } Ação que vai ocorrer quando pressionarmos o botão Pesquisar function testaPalavra(chave:String){ if(chave.length >=1){ //SE O TAMANHO não FOR O CORRETO if(xmlReady){ //SE O XML já ESTIVER CARREGADO Resultado.text = ''; for(i=0;i<NumNoticia.length;i++){ NumNoticia[i]=""; } for (i=0;i<meuXML.firstChild.childNodes.length;i++) { //PEGA A NOTICIA DE 0-NMR MAX DE NOTICIAS Noticias.push(meuXML.firstChild.childNodes[i].firstChild.nodeValue); k=0; for(j=0;j<=Noticias[i].length;j++) //PEGA CADA CARACTER DA NOTICIA { if(chave.charAt(0).toLowerCase==Noticias[i].charAt(j).toLowerCase) //TESTA SE O CARACTER BATE { if(chave.toLowerCase() == Noticias[i].substring(j,j+chave.length).toLowerCase()) //TESTA SE A PALAVRA INTEIRA BATE { if(NumNoticia[k] != i){ //TESTA SE A A NOTICIA não EXISTE NumNoticia[k]=i; Resultado.text += "Noticia "+(i+1)+": "+Noticias[i]+"\n\n"; } }//TESTA PALAVRA INTEIRA } //TESTA SE BATE } //CADA CARACTER DA NOTICIA } //FOR } //XML else { trace("XML ainda noi foi carregado"); } }//TAMANHO DESEJADO else{ trace("Tamanho da busca incorreto"); } }Bom toda a mágica ocorrena função testaPalavraNela vamos testar, Se a palavra digitada tem algum caracter ou seja seu valor é maior ou igual a 1;Depois testamos se nosso XML foi carregadoLimpamos nossa Variavel NumNoticia que guarda o numero da noticia encontrada;Pegamos todas as noticias do meuXML e guardamos na ARRAY Noticias;Agora vamos testar cara Caracter da noticia, Caso esse caracter bata com o primeiro caracter da nossa palavra chave,Vamos testar se todos os caracteres a partir dele batem, por exemplo se você escrever a palavra "POOH"Ele vai primeiramente testar se existe algum "P" na noticia e caso exista ele então pega as proximas 3 letras e ve se "POOH" é igual a "P"+3 letras seguintesSe for então você acaba de encontrar sua palavra;Despois de encontrada a plavra temos de verificar se Dentro dessa noticia já listada como um resultado da pesquisa, já não foi encontrada outra palavra igual, se já, então não precisamos colocar essa noticia duas vezes como resultado, pois apesar de ser 2 resultados encontrados ambos pertencem ao mesmo lugar;bom é isso :)Não sei se ficou simples o suficiente mas essa foi minha pesquisa caseira que fiz com tanto carinho *_*Brincadeira, qualquer dpuvida é so postar, seria bom você apenas entender a lógica que foi feita, e perceber que podemos colocar muito mais condições como por exemplo para mais de uma palavra colocada, testar auto-sugestões etc...AbraçosPooh Editado Maio 9, 2009 por Pooh Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Dudu souza
Eu estou com um pequeno problema.Tenho um site que fiz todo em flash só que toda via preciso colocar um buscador interno.
HELP!!!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.