Jump to content


Photo

Pesquisa Dinamica


  • Faça o login para participar
2 replies to this topic

#1 cristianocrt

cristianocrt

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Localidade:Perto do inferno

Posted 29/07/2011, 20:51

Como fazer um sistema de pesquisa automática com dois campos (usando onkeyup,|ajax|mysql) ex: tenho um campo nome, ao digitar nele, é pesquisado automaticamente na base de dados, e retorna o valor na frente da caixa de texto nome, e na mesma pagina tenho um campo email, que retorna o valor achado em frente a esta caixa email.

ja achei varios exemplos disse tipo, porém nenhum com mais de um campo no pagina

arquivo script

// 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);
}
}
}

arquivo index

<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>
window.onload = function(){

 document.getElementById('nome').onkeyup = function ()
{
	var valor = document.getElementById('nome').value
	
	url="busca_nome.php?valor="+valor;
	ajax(url);
}

 document.getElementById('user').onkeyup = function (){
 
 var valor = document.getElementById('user').value
 
    url="user.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" id="nome" ></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>


arquivo busca.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","");

	
	mysql_select_db("files");
	$email = $_GET[valor];

	$sql_email_check = mysql_query("SELECT COUNT(id) FROM ue WHERE em='{$email}'");

	$eReg = mysql_fetch_array($sql_email_check);

	$email_check = $eReg[0];
	
	if(strlen($email) > 3){  
	
	if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
	echo "digite um email verdadeiro";}else{
	
	if($email_check > 0){ echo "email ja cadastrado";
           unset($email);    }else{ echo "otimo";}
	
	}
	
}
}

seguindo o codigo, queria por mais campos, e com o resultado sendo mostrado em outra DIV

#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 31/07/2011, 00:43

Dê uma olhada:

http://jqueryui.com/...s/autocomplete/

E para colocar em outra div vc pode fazer isso com jquery mesmo.
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 cristianocrt

cristianocrt

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Localidade:Perto do inferno

Posted 31/07/2011, 10:58

mas não tem outra forma seguindo o codigo não?




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq