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 Суперглобальные 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 AJAX

AJAX может предоставить пользователям более дружественным, более интерактивный опыт поиска.


AJAX Live Search

В следующих примерах мы покажем, поиск в реальном времени, вы можете получить результаты поиска по мере ввода данных в то же время.

поиск в режиме реального времени с традиционным поиском, по сравнению со многими преимуществами:

  • При вводе данных, он покажет результат матча
  • Когда продолжить ввод данных, результаты фильтрации
  • Если результат слишком мал, вы можете удалить символ, чтобы получить более широкий диапазон

Введите в текстовое поле "HTML", поиски, содержащие HTML-страницу:

Примеры приведенных выше результатов в файле XML ( links.xml найти) в. Для того, чтобы этот пример маленький и простой, мы предлагаем только 6 результаты.


Примеры объяснить - HTML-страницы

Когда пользователь в приведенном выше поле ввода символа выполняет ") showResult (" функцию. Эта функция состоит из "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>

Источник пояснил:

Если поле ввода пусто (str.length == 0), то эта функция очистит livesearch содержание заполнитель, и выйти из функции.

Если поле ввода не является пустым, то showResult () выполняет следующие действия:

  • Создание объекта XMLHttpRequest
  • Создать функцию, когда сервер готов к выполнению ответ
  • Файл на сервере, чтобы посылать запросы
  • Обратите внимание, что добавление к (содержит поле для ввода) конец параметра URL (Q)

PHP File

Вышеуказанные серверы через JavaScript, призывающие эту страницу называется "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;
?>

Если JavaScript, чтобы отправить любой текст (т.е. STRLEN ($ Q)> 0), происходит:

  • Загрузите файл XML в новый объект XML DOM
  • Через весь элемент <TITLE> для того, чтобы найти соответствующие проповеди текст JavaScript
  • Установите правильный URL и название переменной "$ отклика". Если на компьютере имеется более одного матча, все матчи будут добавлены к переменной.
  • Если совпадение не найдено, поставить переменную $ ответ на "никаких предположений".