Latest web development tutorials
×

PHP مسار

PHP مسار PHP مقدمة موجزة PHP تثبيت PHP قواعد PHP متغير PHP echo/print PHP أنواع البيانات PHP ثابت PHP سلسلة PHP مشغلي PHP If...Else PHP Switch PHP مجموعة PHP فرز مجموعة PHP Superglobals PHP While تداول PHP For تداول PHP وظيفة PHP المتغيرات السحرية PHP مساحات PHP الشيئية

PHP شكل

PHP شكل PHP مصادقة النماذج PHP شكل - الحقول المطلوبة PHP شكل - البريد الإلكتروني التحقق وURL PHP المثال شكل كامل PHP $_GET متغير PHP $_POST متغير

PHP دروس متقدمة

PHP المصفوفات متعددة الأبعاد PHP تاريخ PHP احتواء PHP ملف PHP تحميل ملف PHP Cookie PHP Session PHP E-mail PHP أمن E-mail PHP Error PHP Exception PHP فلتر PHP فلتر متقدم PHP JSON

PHP 7 الميزات الجديدة

PHP 7 الميزات الجديدة

PHP قاعدة بيانات

PHP MySQL مقدمة موجزة PHP MySQL صلة PHP MySQL إنشاء قاعدة بيانات PHP MySQL إنشاء جدول بيانات PHP MySQL إدراج بيانات PHP MySQL إدراج بيانات متعددة PHP MySQL القوائم المعدة PHP MySQL قراءة البيانات 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 مقدمة موجزة AJAX PHP AJAX قاعدة بيانات AJAX XML AJAX البحث في الوقت الحقيقي AJAX RSS Reader AJAX تصويت

PHP الدليل المرجعي

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 معالجة الصور PHP RESTful

الأمثلة في الوقت الحقيقي بحث PHP أجاكس

أجاكس يمكن أن توفر للمستخدمين تجربة بحث أكثر ودية، أكثر تفاعلية.


أجاكس بحث لايف

في الأمثلة التالية، ونحن سوف يبرهن على وجود البحث في الوقت الحقيقي، ويمكنك الحصول على نتائج البحث أثناء كتابة البيانات في نفس الوقت.

البحث في الوقت الحقيقي مع البحث التقليدية، مقارنة مع العديد من المزايا:

  • عند كتابة البيانات، وسوف تظهر نتيجة مباراة
  • عندما يستمر كتابة البيانات والنتائج فلتر
  • إذا كانت النتيجة هي صغيرة جدا، يمكنك حذف الحرف للحصول على مجموعة واسعة

أدخل في مربع النص أدناه "HTML"، عمليات البحث التي تحتوي على صفحة HTML:

أمثلة على النتائج المذكورة أعلاه في ملف XML ( links.xml للعثور) في. لجعل هذا المثال صغيرة وبسيطة، ونحن نقدم فقط 6 النتائج.


أمثلة توضح - صفحة HTML

عندما يقوم المستخدم في شخصية مربع الإدخال أعلاه يؤدي "showResult) (" وظيفة. وتتألف هذه الوظيفة من "onkeyup" الزناد الحدث:

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

وأوضح المصدر:

إذا مربع الإدخال فارغ (str.length == 0)، وهذه وظيفة مسح محتوى نائب livesearch، والخروج من وظيفة.

إذا مربع الإدخال ليست فارغة، ثم showResult () بتنفيذ الخطوات التالية:

  • إنشاء كائن مدعوم
  • إنشاء وظيفة عندما يكون الملقم جاهز لأداء استجابة
  • ملف على الملقم لإرسال الطلبات
  • يرجى ملاحظة أن إضافة إلى (يحتوي على مربع الإدخال) نهاية معلمة URL (ف)

ملف PHP

خوادم المذكورة أعلاه من خلال جافا سكريبت يدعو هذه الصفحة يسمى "livesearch.php" ملف PHP.

"Livesearch.php" البحث شفرة المصدر ملفات XML التي تطابق عنوان سلسلة البحث، وإرجاع النتيجة:

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

إذا جافا سكريبت لإرسال أي نص (أي strlen ($ ف)> 0)، يحدث:

  • تحميل ملف XML إلى كائن DOM XML جديد
  • من خلال كل <عنوان> العنصر من أجل إيجاد مطابقة نص جافا سكريبت الوعظ
  • تعيين URL الصحيح وعنوان متغير "استجابة $". إذا وجد أكثر من مباراة واحدة، سيتم إضافة جميع المباريات إلى المتغير.
  • إذا تم العثور على أي تطابق وضع المتغير استجابة $ ب "لا اقتراح".