Ir para conteúdo

POWERED BY:

Arquivado

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

Philippe ABBA

Busca Ajax - Simples

Recommended Posts

Boa tarde pessoal..

Vou postar aki uma simples busca no bd com ajax, que peguei na web

na medida que você preenche os nome no campo ele tras os resultados.. o script ta ok pra quem kiser pegar

mas gostaria que alguem me ajudasse..

 

o resultado sai em uma div.. alguem sabe se consigo jogar essa saida para um text area ou passar o parametro para

uma variavel para que eu possa grava la no banco novamente..

 

CREATE TABLE `pessoa` (

`id_pessoa` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,

`nome` varchar(45) DEFAULT NULL,

PRIMARY KEY (`id_pessoa`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

 

**index.php

<html>

<head>

<title>BUSCA DINÂMICA</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script src="script.js"></script>

<script>

function pesquisa(valor)

{

//FUNÇÃO QUE MONTA A URL E CHAMA A FUNÇÃO AJAX

url="busca_nome.php?valor="+valor;

ajax(url);

}

</script>

</head>

<body>

<table width="657" border="0" bgcolor="#f7f7f7">

<tr>

<td align="center" bgcolor="#CCCCCC"><strong><font color="#FF0000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><-

BUSCA DINÂMICA -></font></strong></td>

</tr>

<tr>

<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DIGITE

AQUI O NOME DA PESSOA</strong></font>:

<!-- NOTE Q A CADA TECLA PRESSIONADA É CHAMADA A FUNÇÃO PESQUISA PASSANDO O QUE O USUARIO TEM DIGITADO ATÉ O MOMENTO -->

<input type="text" name="nome" onKeyPress="pesquisa(this.value)"></td>

</tr>

<tr>

<td>

<!-- AQUI SERÁ APRESENTADO O RESULTADO DA BUSCA DINÂMICA.. OU SEJA OS NOMES -->

<div id="pagina"></div></td>

</tr>

</table>

</body>

</html>

 

 

**ajax.script

 

// JavaScript Document

// FUNÇÃO RESPONSÁVEL DE CONECTAR A UMA PAGINA EXTERNA NO NOSSO CASO A BUSCA_NOME.PHP

// E RETORNAR OS RESULTADOS

 

function ajax(url)

{

//alert(nick);

//alert(dest);

//alert(msg);

 

req = null;

// Procura por um objeto nativo (Mozilla/Safari)

if (window.XMLHttpRequest) {

req = new XMLHttpRequest();

req.onreadystatechange = processReqChange;

req.open("GET",url,true);

req.send(null);

// Procura por uma versão ActiveX (IE)

} else if (window.ActiveXObject) {

req = new ActiveXObject("Microsoft.XMLHTTP");

if (req) {

 

req.onreadystatechange = processReqChange;

req.open("GET",url,true);

 

req.send();

}

}

}

 

function processReqChange()

{

 

// apenas quando o estado for "completado"

if (req.readyState == 4) {

// apenas se o servidor retornar "OK"

if (req.status ==200) {

// procura pela div id="pagina" e insere o conteudo

// retornado nela, como texto HTML

document.getElementById('pagina').innerHTML = req.responseText;

} else {

alert("Houve um problema ao obter os dados:n" + req.statusText);

}

}

}

 

 

*** busca_nome.php

<?php

if(!empty($_GET["valor"]))

{

// O CAMPO VALOR CONTERÁ O QUE O USUARIO DIGITOU ATÉ O MOMENTO..

// CONECTA AO BANCO COLOCA PARAMENTROS IP,USUARIO,SENHA

$conexao=mysql_connect("localhost","root","1010");

 

//SELECIONA O BANCO DE DADOS QUE VAI USAR

mysql_select_db("pessoas");

 

// EXECUTA A INSTRUÇÃO SELECT PASSANDO O QUE O USUARIO DIGITOU

$sql="select * from pessoa where nome like '$_GET[valor]%'";

$resultado=mysql_query($sql) or die (mysql_error());

 

//VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS

$linhas=mysql_num_rows($resultado);

 

if($linhas>0){

//EXECUTA UM LOOP PARA MOSTRAR OS NOMES DAS PESSOAS

// VALE LEMBRAR QUE TODOS ESSES RESULTADOS SERAO MOSTRADOS DENTRO DA PAGINA INDEX.PHP

// DENTRO DO DIV 'PAGINA'

 

while($pegar=mysql_fetch_array($resultado))

echo "$pegar[nome] <br>";

}

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce quer colocar o resultado dentro de um textarea né ?

 

então só fazer assim

 

 

muda a funcao do ajax.

 

essa aqui oh!

 

A original ta assim

function processReqChange()
{

// apenas quando o estado for "completado"
if (req.readyState == 4) {
// apenas se o servidor retornar "OK"
if (req.status ==200) {
// procura pela div id="pagina" e insere o conteudo
// retornado nela, como texto HTML
document.getElementById('pagina').innerHTML = req.responseText;
} else {
alert("Houve um problema ao obter os dados:n" + req.statusText);
}
}
}

Agora Crie um textarea com o id="textarea"

function processReqChange()
{

// apenas quando o estado for "completado"
if (req.readyState == 4) {
// apenas se o servidor retornar "OK"
if (req.status ==200) {
// procura pela textarea id="textarea" e insere o conteudo
// retornado nela, como texto HTML
document.getElementById('textarea').value = req.responseText;
} else {
alert("Houve um problema ao obter os dados:n" + req.statusText);
}
}
}

Pronto. Ira funcionar assim!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim era isso que eu precisava..

mas como ke eu faço pra agora pegar o valor que a busca me tras dentro desta text area e jogar pra uma variavel para grava-la novamente no banco ..

 

sabe como eu possa fazer isso ..

 

abraço

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.