Feed -

Busca com AJAX + Mysql + PHP

Data: 23/09/2009
Categoria: Tutoriais PHP
Visualizações: 625
Comentários: 1 Comentário
VN:F [1.8.8_1072]
Dê a sua nota:
Nota: 10.0 de 10 (1 Voto)
Busca com AJAX + Mysql + PHP

Neste pequeno tutorial iremos construir uma busca por cada dígito do teclado, com PHP, MYSql e uma pequena ajudinha do AJAX.

Temos uma página que terá o formulário para a busca e outra que irá receber o dígito e realizar a busca listando os dados encontrados.

1: Para começar, crie um arquivo chamado “busca.php” e coloque o seguinte formulário e div.

busca.php

<form name=”form” action=”" onSubmit=”return false”>
<input name=”nome” value=”" onKeyUp=”recuperardados()”>
</form>

<div id=”conteudo”>
</div>

A ação onKeyUp irá acessar a função que busca os dados pela palavra que estiver no input, o conteúdo trago irá ficar no lugar do div abaixo.

2: Abra a tag <script> ainda na página busca.php e insira esse trecho de código dentro que é a nossa função javascript que irá trazer os dados.

function recuperardados() {
var nome = document.form.nome.value;
var ajax = new AJAX();
ajax.Updater("listar.php?digito="+nome,"conteudo","get","carregando os dados...");
}

 

Na função javascript, recuperamos o valor do input, instanciamos o objeto AJAX e chamamos o método Update passando como parâmetro a página PHP que fará a busca, o nome da objeto html onde o resultado será exibido, o método da busca e a mensagem enquanto os dados são trazidos.

3: Crie agora um arquivo com o nome de “ajax.js”, inclua esse trecho de código e depois importe esse arquivo em nossa página de busca.

ajax.js

function AJAX() {

this.Updater=carregarDados;
function carregarDados(caminhoRetorno,idResposta,metodo,mensagem) {

var conteudo=document.getElementById(idResposta)
conteudo.innerHTML= mensagem;

var xmlhttp = getXmlHttp();

//Abre a url
xmlhttp.open(metodo.toUpperCase(), caminhoRetorno,true);

//Executada quando o navegador obtiver o código
xmlhttp.onreadystatechange=function() {

if (xmlhttp.readyState==4){

//Lê o texto
var texto=xmlhttp.responseText;

//Desfaz o urlencode
texto=texto.replace(/\+/g," ");
texto=unescape(texto);

//Exibe o texto no div conteúdo

var conteudo=document.getElementById(idResposta);
conteudo.innerHTML=texto;

}
}
xmlhttp.send(null);
}
}

function getXmlHttp() {
var xmlhttp;
try{
xmlhttp = new XMLHttpRequest();
}catch(ee){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}
}
return xmlhttp;
}

 

Pronto já temos a função carregarDados que recebe os parâmetros passados na página de busca e traz os dados da nossa página que realiza a listagem.

04: Crie outro arquivo com o nome “listar.php” e coloque esse código.

$con = mysql_connect("localhost","root","");
mysql_select_db("test",$con);

print urlencode("palavra ".$_GET['digito']."

");

$sql = "select * from cliente where nome like '%".$_GET['digito']."%'";

$rs = mysql_query($sql,$con);
while($linha = mysql_fetch_array($rs)) {
print urlencode($linha['nome']."
");
}
mysql_close($con);
?>

Neste mesmo arquivo, nós construimos a query que fará a busca pelo parâmetro que nós recebemos da página de busca.

USE test;
CREATE TABLE cliente
(
id int not null auto_increment,
nome varchar(120) not null,
primary key(id)
);
INSERT INTO cliente(nome) values ("Rogerio");
INSERT INTO cliente(nome) values ("Fabio");
INSERT INTO cliente(nome) values ("Roberto");
INSERT INTO cliente(nome) values ("Adriano");
INSERT INTO cliente(nome) values ("Lucas");
INSERT INTO cliente(nome) values ("Ana");
INSERT INTO cliente(nome) values ("Ana Paula");

Pronto, basta agora você testar. E se quiser pode personalizar esse SCRIPT, ou até mesmo usar em seu site!

Busca com AJAX + Mysql + PHP10.0101

Inscreva-se e receba novidades no seu Email:

1 Comentário em: “Busca com AJAX + Mysql + PHP”

  1. jorgeInternet Explorer 8.0;Windows 7

    Parabens sua dica e exelente ajudou muito

Faça um comentário




Usuários do Twitter: Entre com sua conta do Twitter clicando no botão abaixo.

Importante: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste blog ou de seus autores. Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. Os autores deste blog reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação de seu autor (sem nome completo e endereço válido de email) também poderão ser excluídos.
Melhores ofertas

© Copyright 2009 - 2010 Pontuaki - Downloads - Todos os direitos reservados - Política de privacidade

Proibida a reprodução total ou parcial sem prévia autorização.