O melhor tutorial Exemplos de pesquisa em tempo real PHP AJAX em 2024. Neste tutorial você pode aprender AJAX Live Search,Exemplos explicar - página HTML,Arquivo PHP,

Exemplos de pesquisa em tempo real PHP AJAX

AJAX pode fornecer aos usuários uma experiência de busca mais amigável, mais interativo.


AJAX Live Search

Nos exemplos a seguir, vamos demonstrar uma pesquisa em tempo real, você pode obter resultados de busca enquanto você digita dados ao mesmo tempo.

pesquisa em tempo real com a pesquisa tradicional, em comparação com muitas vantagens:

  • Quando você digita dados, ele irá mostrar o resultado de um jogo
  • Ao continuar digitando dados, resultados de filtro
  • Se o resultado for muito pequeno, você pode excluir o personagem para obter uma ampla gama

Digite na caixa de texto abaixo "HTML", as buscas contendo página HTML:

Exemplos dos resultados acima em um arquivo XML ( links.xml de encontrar) em. Para tornar este exemplo pequeno e simples, nós oferecemos somente 6 resultados.


Exemplos explicar - página HTML

Quando um usuário na caixa caráter de entrada acima executa a função "showResult ()". Esta função consiste em "onkeyup" Trigger Evento:

<html>
<head>
<script>
function showResult(str)
{
	if (str.length==0)
	{ 
		document.getElementById("livesearch").innerHTML="";
		document.getElementById("livesearch").style.border="0px";
		return;
	}
	if (window.XMLHttpRequest)
	{// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行
		xmlhttp=new XMLHttpRequest();
	}
	else
	{// IE6, IE5 浏览器执行
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.onreadystatechange=function()
	{
		if (xmlhttp.readyState==4 && xmlhttp.status==200)
		{
			document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
			document.getElementById("livesearch").style.border="1px solid #A5ACB2";
		}
	}
	xmlhttp.open("GET","livesearch.php?q="+str,true);
	xmlhttp.send();
}
</script>
</head>
<body>

<form>
<input type="text" size="30" onkeyup="showResult(this.value)">
<div id="livesearch"></div>
</form>

</body>
</html>

Fonte explicou:

Se a caixa de entrada estiver vazia (str.length == 0), esta função irá limpar o conteúdo espaço reservado livesearch, e sair da função.

Se a caixa de entrada não estiver vazia, então showResult () executa as seguintes etapas:

  • Criar objeto XMLHttpRequest
  • Criar função quando o servidor está pronto para executar a resposta
  • Arquivo no servidor para enviar pedidos
  • Por favor, note que a adição de (contém a caixa de entrada) no final do parâmetro de URL (q)

Arquivo PHP

Os servidores acima através de JavaScript chamada desta página é chamado de arquivo PHP "livesearch.php".

"Livesearch.php" arquivos XML de busca de código fonte que correspondem ao título pesquisa corda, e retorna o resultado:

<?php
$xmlDoc=new DOMDocument();
$xmlDoc->load("links.xml");

$x=$xmlDoc->getElementsByTagName('link');

// 从 URL 中获取参数 q 的值
$q=$_GET["q"];

// 如果 q 参数存在则从 xml 文件中查找数据
if (strlen($q)>0)
{
	$hint="";
	for($i=0; $i<($x->length); $i++)
	{
		$y=$x->item($i)->getElementsByTagName('title');
		$z=$x->item($i)->getElementsByTagName('url');
		if ($y->item(0)->nodeType==1)
		{
			// 找到匹配搜索的链接
			if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q))
			{
				if ($hint=="")
				{
					$hint="<a href='" . 
					$z->item(0)->childNodes->item(0)->nodeValue . 
					"' target='_blank'>" . 
					$y->item(0)->childNodes->item(0)->nodeValue . "</a>";
				}
				else
				{
					$hint=$hint . "<br /><a href='" . 
					$z->item(0)->childNodes->item(0)->nodeValue . 
					"' target='_blank'>" . 
					$y->item(0)->childNodes->item(0)->nodeValue . "</a>";
				}
			}
		}
	}
}

// 如果没找到则返回 "no suggestion"
if ($hint=="")
{
	$response="no suggestion";
}
else
{
	$response=$hint;
}

// 输出结果
echo $response;
?>

Se o JavaScript para enviar qualquer texto (ou seja, strlen ($ q)> 0), ocorre:

  • Carregar o arquivo XML para o novo objeto DOM XML
  • Através de tudo <title> elemento a fim de encontrar o texto correspondente JavaScript pregando
  • Defina a URL correta e título variável "$ response". Se encontrar mais do que um jogo, todos os jogos serão adicionados à variável.
  • Se nenhuma correspondência for encontrada, colocar a variável $ resposta a "nenhuma sugestão".
Exemplos de pesquisa em tempo real PHP AJAX
10/30