Latest web development tutorials
×

PHP Kurs

PHP Kurs PHP Kurze Einführung PHP installieren PHP Grammatik PHP Variable PHP echo/print PHP Datentypen PHP Konstante PHP Schnur PHP Die Betreiber PHP If...Else PHP Switch PHP Feld PHP Sortieren eines Array PHP Superglobals PHP While Verkehr PHP For Verkehr PHP Funktion PHP Magische Variablen PHP Namespaces PHP Objektorientiert

PHP Form

PHP Form PHP Formularauthentifizierung PHP Form - Erforderliche Felder PHP Form - Überprüfung E-Mail und URL PHP Komplette Formularinstanz PHP $_GET Variable PHP $_POST Variable

PHP Erweiterte Tutorial

PHP Mehrdimensionale Arrays PHP Datum PHP enthalten PHP Datei PHP Datei-Upload PHP Cookie PHP Session PHP E-mail PHP Sicherheit E-mail PHP Error PHP Exception PHP Filter PHP Erweiterte Filter PHP JSON

PHP 7 Neue Funktionen

PHP 7 Neue Funktionen

PHP Datenbank

PHP MySQL Kurze Einführung PHP MySQL Verbindung PHP MySQL Erstellen einer Datenbank PHP MySQL Erstellen Sie eine Datentabelle PHP MySQL einfügen von Daten PHP MySQL Legen Sie mehrere Daten PHP MySQL Prepared Statements PHP MySQL Lesen Sie Daten 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 Kurze Einführung AJAX PHP AJAX Datenbank AJAX XML AJAX Echtzeitsuche AJAX RSS Reader AJAX Abstimmung

PHP Referenzhandbuch

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 Bildverarbeitung PHP RESTful

Beispiele für Echtzeit-Suche PHP AJAX

AJAX können die Nutzer mit einer freundlicher, interaktive Sucherlebnis.


AJAX Live Search

In den folgenden Beispielen werden wir eine Suche in Echtzeit zeigen, können Sie die Suchergebnisse zu bekommen, wie Sie Daten zur gleichen Zeit ein.

Echtzeit-Suche mit herkömmlichen Suche, verglichen mit vielen Vorteilen:

  • Wenn Sie Daten eingeben, wird es das Ergebnis eines Spiels zeigen
  • Wenn weiterhin Daten, filtern Sie Ergebnisse eingeben
  • Wenn das Ergebnis zu klein ist, können Sie das Zeichen löschen ein breiteres Spektrum zu erhalten

Geben Sie in das Textfeld unter "HTML", sucht HTML-Seite:

Beispiele für die obigen Ergebnisse in einer XML - Datei ( links.xml zu finden) in. Um dieses Beispiel zu klein und einfach zu machen, bieten wir nur 6 Treffer.


Beispiele erläutern - HTML-Seite

Wenn ein Benutzer in der obigen Eingabefeld Zeichen führt "showResult ()" Funktion. Diese Funktion besteht aus "onkeyup" Trigger Event:

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

Quelle erklärt:

Wenn das Eingabefeld leer ist (str.length == 0), wird diese Funktion Livesearch Platzhalter Inhalt löschen und die Funktion beenden.

Wenn das Eingabefeld nicht leer ist, dann showResult () führt die folgenden Schritte aus:

  • Erstellen Sie XMLHttpRequest-Objekt
  • Erstellen Sie Funktion, wenn der Server bereit ist, die Reaktion durchzuführen
  • Datei auf dem Server-Anforderungen zu senden
  • Bitte beachten Sie, dass das Hinzufügen zu (enthält Eingabefeld), um das Ende des URL-Parameters (q)

PHP-Datei

Die oben genannten Server über JavaScript, um diese Seite aufrufen wird "livesearch.php" PHP-Datei bezeichnet.

"Livesearch.php" Quellcode Suche XML-Dateien, die den Such-String Titel übereinstimmen, und gibt das Ergebnis:

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

Wenn JavaScript beliebigen Text zu senden (dh strlen ($ q)> 0), tritt auf:

  • Laden Sie die XML-Datei in das neue XML-DOM-Objekt
  • Durch alle <title> Element, um passend zu finden Text JavaScript Predigen
  • Stellen Sie die richtige URL und den Titel "$ response" Variable. Wenn es mehr als eine Übereinstimmung findet, wird alle Spiele auf die Variable hinzugefügt werden.
  • Wenn keine Übereinstimmung gefunden wird, legen Sie die $ response Variable auf "keinen Vorschlag".