Abril.com MaissitesAbril
iMasters
AbrilMdia Distribuio Grfica AbrilEducao Assine
GrupoAbril
PORTAL
AGENDA
MULTIMDIA
BOX
JOBS
COLETIVOS
IMASTERSPRO
CODE
F RUM
FaaLogin/Ca
Ajax
Pesquisar...
Ajax
BuscainstantneacomAjax
Quarta-feira, 11/01/2006 s 12h00, por Leandro Vieira
Olatodos!Hojefalareisobreumassuntoforadacoluna,mas,sobrealgoqueestem grandeascensonodesenvolvimentoweb.FalareisobreAjax,maisespecificamentesobre comodesenvolverumabuscainstantneacomessametodologia.Deantemo,vejaum exemplodessabuscaemfuncionamento,podendoassim,entendermelhoroqueiremos desenvolver. PartireidoprincpioquevocjpossuiumanoosobreAjax,ecasoessenosejaoseu caso,vejaesteslinksparacompreendereterumanoomelhordoassunto: Ajax:UmaNovaTcnicaparaAplicaesWeb AjaxVisoGeral(iMasters) VriostutoriaissobreAjax ResultadodoGoogleparaAjax Nossosingredientesparaodesenvolvimentodabuscainstantneasero: 01Umapgina(x)HTMLcontendooformulrioeaexibiodoresultadodabusca (buscaInstantanea.htm) 02Algunscdigosemjavascriptparaincrementarmosoajax(buscaInstantanea.js) 03DuaspginasemPHPresponsveisemrealizarabuscanobancodedados(busca.php ebuscaInstantanea.php).Vocsentenderooporquededuaspginas). Abuscafuncionarmesmoseojavascriptdoclienteestiverdesabilitado.Assim,tornamosa maisacessvel. Paraoartigonoficarmuitograndeecansativo,voufazerdaseguinteforma:desenvolverei aspginaseexplicareicadaumadelas.JquevoctemnoosobreAjaxecomcerteza sobredesenvolvimentoweb,nohoporquedesteartigosermuitominucioso. Primeirapgina,buscaInstantanea.htm,(cliquenonomeparabaixla).Essapginasuper simples,masvamosdestrinla:nohead(<head>)temosaestilizaoCSSeolinkparao script,buscaInstantanea.js.Atravsdatag<script>.nocorpodapgina(<body>),temoso formulrioparaarealizaodabuscaeumadivcomoatributoID(resultadoBusca)setado, paraexibirmosoresultadoepodermosmanipullaatravsdonossoscript. Nocampodetexto,utilizadoparadigitarotermodabusca,acionamosafuno: buscaInstantanea()atravsdoevento:onkeyup.(Parasabermaissobreoseventosem javascript,visite:http://www.w3.org/TR/REChtml40/interact/scripts.html#h18.2.3)
CURSOSONLINE LTIMASNOTCIAS
VERMAISNOTCIAS
MVCemPHPnaprtica(Construindo sistemadepedidos)
Planejandocampanhasdeemailma naprtica
imasters.com.br/artigo/3804/ajax/busca-instantanea-com-ajax
1/7
12/04/12
iMasters
Criamosduasvariveis:vartermo,varexibeResultado.Aprimeirapegaotermodigitadona caixadebuscaasegundarefereseaoIDdadivqueexibiroresultadodabusca.Observe:
Nestapartedoscript:
imasters.com.br/artigo/3804/ajax/busca-instantanea-com-ajax
2/7
12/04/12
iMasters
Agora,checaremosostatusdapgina.Veja:
Ostatus200siginificaOK,ouseja,arequisiofoisucedida.(Paraconhecerosdemais StatusHTTP,visite:http://www.w3.org/Protocols/rfc2616/rfc2616sec10.html) Agoracriaremosumavarivelquearmazenarosdadosqueoservidornosenviou. Lembrandoquehdoismetdosparaessemarzenamento,sendoeles: aja .responseTe tretornaosdadosdoservidorcomoumastringdetexto aja .responseXMLretornoosdadosdoservidorcomoumdocumentoXML. Apsrealizamosummaceteparaosacentos,semele(macete)teremossriosproblemas. Nota:emmeublogpessoal,faleidetalhamentesobreestemaceteparasetrabalharcom acentosemAjax,sedesejar,leiaopost:Ajaxeosacentos. Apsrecebermososdadosefazermosotratamentoparaosacentos,iremos"jogar"esses dadosretornadopeloservidor,ouseja,oresultadodabusca,dentrodadivquefoi referenciadanavarivel:exibeResultado.Vejaoprintfinal:
Agora,desenvolveremosaspginasquerealizaroabuscanobancodedados.Noinciodo artigoeudisseavocqueexplicariaoporquededuaspginasdebusca.Entovamosl. Apginabusca.phpumapginanormalcomoasoutrasquevoctemcostumede desenvolver.Elaserutilizadapelosusuriosquenavagamcombrowsersemsuporteao javascriptoucomomesmodesativado.JapginabuscaInstantanea.phpserutilizadapelo scriptquedesenvolvemos.Adiferenaentreasduas,queessa ltimafoiadaptadapara resolveroproblemasdosacentosquandotrabalhamoscomAjaxeelanocontmuma estruturacompletacome.Somente. InstruoSQLparagerarepopularatabelautilizada. Vejaapginabusca.php VejaapginabuscaInstantanea.php BaixeabuscaInstantneacompleta. Aspginasdebuscaestobemsimples,mas,vamosanalislas.AinstruoSQL: $query_rsBusca=sprintf("SELECT*FROMbusca_instantaneaWHEREtuto_tituloLIKE "%%%s%%"ORtuto_descLIKE"%%%s%%"LIMIT5", $colname_rsBusca,$colname_rsBusca)
imasters.com.br/artigo/3804/ajax/busca-instantanea-com-ajax
3/7
12/04/12
iMasters
Essaqueryselecionanomximocincoregistros(LIMIT5)databelabusca_instantanea,onde (WHERE)ottulo(tuto_titulo)eadescrio(tuto_desc)contmotermopresentenavarivel $colname_rsBusca,quearmazenaotermoinformadanacaixadebusca. Norestantedoscript,temosvriosechocomoeste: (pginabusca.php) (pginabuscaInstantanea.php) Observaes: Procureimostrarlhesomtodoqueutilizeiparadesenvolveresserecurso.Sevoco compreendeu,vaisesentirmaisseguroparaelaborarnovosrecursos,eporfavorme apresentehein!(risos). Leiaoslinksrelacionadosacima.Humagrandezaemconhecimentodentreeles LeiaopostemquefalosobreAjaxeosacentos E,esperoquetenhamgostadodoartigo.Umabraoeatoprximo.
Tweet
0
LeandroVieira trabalhacominternetdesde2002eatualmentediretoregerentedeprojetos daApiki,empresarefernciaemWordPressnoBrasil.palestranteecriador depluginsjQueryquesorefernciasmundiais,usadospelaprpria FundaoMozilla.autordediversoscursosdeWordPress,PHP,AJAXe jQuery. Pginadoautor Email Leia os ltimos artigos publicados por leandro_vieira OpenGraphProtocoleFacebook Oqueesperardaverso3.0doWordPress? CriandomenusepginasadministrativasnoWordPress Conheaautilidadedasfuneswp_headewp_footernostemasWordPress ConfiguraesavanadasparaoWordPress
21COMENT RIOS
COMENTETAMBM
vittor Aicara,noIEfuncionou10,nofirefoxelenofuncionou!?!?oquetemosquemudar?!
H6anos Responder
imasters.com.br/artigo/3804/ajax/busca-instantanea-com-ajax
4/7
12/04/12
iMasters
vittor Opa,encontreioerro,euestavausandoocampoassim <inputname="cpf"onkeyup="buscacpf()"type="text"class="edit"size="20" maxlength="20"> noIEfuncionava,poremnoFFno! quandoeucoloquei <inputname="cpf"id="cpf"onkeyup="buscacpf()"type="text"class="edit"size="20" maxlength="20"> Funcionou! oid=""quearrumouaminhavida! ObrigadoLeandroeataprxima
H6anos Responder
Jo oRicardodeAlbuquerqueSi Cara,eutambmtesteinoOpera,eaquifunfoueestfunfandolegal.
H6anos Responder
LawrenceCarvalho CadoarquivobuscaInstantanea.js?Noconsigofazeroseudownload...
H6anos Responder
FredTavares Caragosteid+desse,temcomofazerparabuscarnaweb?
H6anos Responder
ReneSarli Comofaoparacadastrareexcluirosdadosdabusca?
H5anos Responder
imasters.com.br/artigo/3804/ajax/busca-instantanea-com-ajax
5/7
12/04/12
iMasters
RobsonCabral Estabuscafoimaioradiantonaminhavida.ValeuLeandro.
H5anos Responder
LeandroVieira Obrigado!Abraos.
H3anos Responder
LeandroVieira Obrigado!Abraos.
H3anos Responder
Alan Leandro,Porqueoresultadodeminhabuscaestcomerronosacentos
H1ano Responder
QUALASUAOPINI O?
Escrevaseucomentrioaqui...
PARCEIROS
imasters.com.br/artigo/3804/ajax/busca-instantanea-com-ajax
6/7
12/04/12
iMasters
2001iMastersFFPAInformticaLtda Todososdireitosreservados.
imasters.com.br/artigo/3804/ajax/busca-instantanea-com-ajax
7/7