..:: MX Studio Fóruns ::..: Busca em AJAX com preenchimento do input ??? - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Busca em AJAX com preenchimento do input ??? To precisando muito disso, por favor

#1 User is offline   Jefferson Fernandes 

  • Group: Membros
  • Posts: 3
  • Joined: 15-July 08

  Posted 28 August 2008 - 09:29 AM

Pessoal, tenho um script de busca em ajax que pega os dados do banco de dados, eu gostaria que quando aparecesse o resultado dessa busca abaixo do input, os resultados quando clicados preenchesse o campo input.


Segue o código abaixo:


PÁGINA “INDEX.PHP”

QUOTE
<html>
<head>
<title>Busca Dinamica</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
&lt;script src="script.js"></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 Dinamica -></font></strong></td>
</tr>
<tr>
<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Digite aki o nome do cliente</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" onKeyUp="carregaAjax('pagina', 'busca_nome.php?valor=' + this.value)" onKeyDown="carregaAjax('pagina', 'busca_nome.php?valor=' + 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>





PÁGINA “SCRIPT.JS”

QUOTE
function openAjax() {
var Ajax;
try {Ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers mais populares, como: Firefox, Safari, dentre outros.
}catch(ee){
try {Ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
}catch(e){
try {Ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
}catch(e){Ajax = false;}
}
}
return Ajax;
}

function carregaAjax(div, getURL) {
document.getElementById(div).style.display = "block";
if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
var exibeResultado = document.getElementById(div); // div que exibirá o resultado.
var Ajax = openAjax(); // Inicia o Ajax.
Ajax.open("GET", getURL, true); // fazendo a requisição
Ajax.onreadystatechange = function(){
if(Ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
exibeResultado.innerHTML = "<div>Carregando</div>";
}
if(Ajax.readyState == 4) { // Quando estiver tudo pronto.
if(Ajax.status == 200) {
var resultado = Ajax.responseText; // Coloca o retornado pelo Ajax nessa variável
resultado = resultado.replace(/\+/g,""); // Resolve o problema dos acentos
//resultado = resultado.replace(/ã/g,"a");
resultado = unescape(resultado); // Resolve o problema dos acentos
exibeResultado.innerHTML = resultado;
} else {
exibeResultado.innerHTML = "Por favor, tente novamente!";
}
}
}
Ajax.send(null); // submete
}
}





PÁGINA “BUSCA_NOME.PHP”

QUOTE
<?php
if(!empty($_GET["valor"])){
// O campo valor conterá o que o usuário digitou até o momento
//Conecta ao banco, colocar parametros ip, usuario, senha
$conexao=mysql_connect("localhost","root","");
//Seleciona o banco de dados que vai usar
mysql_select_db("teste");
// Executa a instrução SELECT passando o que o usuário digitou
$sql="select * from cliente 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.html dentro da DIV pagina
while($pegar=mysql_fetch_array($resultado))
echo "$pegar[nome] <br />";
}
}
?>



Agradeço desde já, to precisando muito dessa modificação.

0

#2 User is offline   Dark Neo 

  • Group: Membros
  • Posts: 507
  • Joined: 04-June 05

Posted 02 September 2008 - 10:47 AM

amigo explica melhor o que vc quer nao entendi bem....

abraço!!
0

#3 User is offline   Wanderson Regis 

  • Group: Moderadores
  • Posts: 1275
  • Joined: 10-January 05

Posted 05 September 2008 - 03:02 AM

Ah, tá, legal.

Mas, e ai? Vai dizer qual é a dúvida ou problema? Hein?
0

#4 User is offline   Jefferson Fernandes 

  • Group: Membros
  • Posts: 3
  • Joined: 15-July 08

Posted 05 September 2008 - 09:19 AM

Eu quero que quando eu clicar em 1 dos resultados da busca, o nome que eu cliquei seja preenchido no input, e o restante suma. entendeu ????
0

#5 User is offline   Wanderson Regis 

  • Group: Moderadores
  • Posts: 1275
  • Joined: 10-January 05

Posted 09 September 2008 - 03:26 AM

Bem eu não testei nada no seu código, mas se você que fazer os resultados "sumirem" da tela, que tal ajustar a propriedade CSS 'display' como 'none', e para colocar o valor no campo pode usar a propriedade 'value'. Tenta alguma dica em Webstandards.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)