Latest web development tutorials
×

PHP curso

PHP curso PHP breve introducción PHP instalar PHP gramática PHP variable PHP echo/print PHP Tipos de datos PHP constante PHP cadena PHP operadores PHP If...Else PHP Switch PHP formación PHP Ordenación de un conjunto PHP superglobals PHP While circulación PHP For circulación PHP función PHP Las variables mágicas PHP Los espacios de nombres PHP Orientado a Objetos

PHP formulario

PHP formulario PHP autenticación de formularios PHP formulario - Los campos necesarios PHP formulario - correo electrónico de verificación y la URL PHP instancia completa formulario PHP $_GET variable PHP $_POST variable

PHP Tutorial avanzado

PHP Las matrices multidimensionales PHP fecha PHP contener PHP expediente PHP Cargar archivo PHP Cookie PHP Session PHP E-mail PHP seguridad E-mail PHP Error PHP Exception PHP filtro PHP filtro avanzado PHP JSON

PHP 7 nuevas características

PHP 7 nuevas características

PHP base de datos

PHP MySQL breve introducción PHP MySQL conexión PHP MySQL La creación de una base de datos PHP MySQL Crear una tabla de datos PHP MySQL insertar datos PHP MySQL Insertar datos múltiples PHP MySQL Sentencias preparadas PHP MySQL leer datos 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 introducción AJAX PHP AJAX base de datos AJAX XML AJAX búsqueda en tiempo real AJAX RSS Reader AJAX voto

PHP Manual de referencia

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 Procesamiento de imágenes PHP RESTful

Ejemplos de tiempo real de búsqueda AJAX PHP

AJAX puede proporcionar a los usuarios una experiencia de búsqueda más amigable, más interactivo.


AJAX Live Search

En los siguientes ejemplos, vamos a demostrar una búsqueda en tiempo real, se pueden obtener resultados de búsqueda a medida que escribe los datos al mismo tiempo.

búsqueda en tiempo real con la búsqueda tradicional, en comparación con muchas ventajas:

  • Al escribir los datos, se mostrará el resultado de un partido
  • Cuando continuar escribiendo datos, resultados de filtro
  • Si el resultado es demasiado pequeño, puede eliminar el carácter para obtener una gama más amplia

Introduzca en el cuadro de texto debajo "HTML", las búsquedas que contienen página HTML:

Los ejemplos de los resultados anteriores en un archivo XML ( links.xml de encontrar) en. Para que este ejemplo sea pequeña y simple, sólo ofrecemos 6 resultados.


Ejemplos explican - página HTML

Cuando un usuario en el carácter cuadro de entrada anterior lleva a cabo "showResult) (" función. Esta función consiste en "onkeyup" Evento de disparo:

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

Fuente explicó:

Si el cuadro de entrada está vacía (str.length == 0), esta función se borrará el contenido marcador de posición livesearch, y salir de la función.

Si el cuadro de entrada no está vacía, entonces showResult () realiza los siguientes pasos:

  • Crear objeto XMLHttpRequest
  • Crear función cuando el servidor está listo para llevar a cabo la respuesta
  • Archivo en el servidor para enviar solicitudes
  • Tenga en cuenta que la adición de (contiene cuadro de entrada) al final del parámetro de URL (q)

PHP archivo

Los servidores anteriores a través de JavaScript que llaman esta página se llama archivo PHP "livesearch.php".

"Livesearch.php" de búsqueda de código fuente de los archivos XML que coincidan con el título cadena de búsqueda, y devuelve el 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;
?>

Si Javascript para enviar cualquier texto (es decir, strlen ($ q)> 0), se produce:

  • Cargar el archivo XML para el nuevo objeto DOM XML
  • A través de todo el elemento <title> a fin de encontrar el texto coincidente JavaScript predicación
  • Establecer la dirección URL correcta y título variable "$ respuesta". Si encuentra más de una coincidencia, todos los partidos se añaden a la variable.
  • Si no se encuentra ninguna coincidencia, poner la variable $ respuesta a "ningún indicio".