Latest web development tutorials
×

PHP curso

PHP curso PHP breve introdução PHP instalar PHP gramática PHP variável PHP echo/print PHP Tipos de dados PHP constante PHP corda PHP operadores PHP If...Else PHP Switch PHP ordem PHP Classificação de uma matriz PHP superglobais PHP While circulação PHP For circulação PHP função PHP Variáveis ​​mágicas PHP namespaces PHP Object-Oriented

PHP formulário

PHP formulário PHP Autenticação de formulários PHP formulário - campos obrigatórios PHP formulário - -mail de verificação e URL PHP instância de formulário completo PHP $_GET variável PHP $_POST variável

PHP Tutorial avançado

PHP arrays multidimensionais PHP data PHP conter PHP arquivo PHP Carregar arquivo PHP Cookie PHP Session PHP E-mail PHP segurança E-mail PHP Error PHP Exception PHP filtro PHP Filtro avançado PHP JSON

PHP 7 novos Recursos

PHP 7 novos Recursos

PHP banco de dados

PHP MySQL breve introdução PHP MySQL conexão PHP MySQL Criação de um banco de dados PHP MySQL Criar uma tabela de dados PHP MySQL inserir dados PHP MySQL Inserir dados múltiplos PHP MySQL instruções preparadas PHP MySQL ler dados PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX breve introdução AJAX PHP AJAX banco de dados AJAX XML AJAX busca em tempo real AJAX RSS Reader AJAX voto

PHP manual de referência

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Processamento de imagem PHP RESTful

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".