[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск в реальном времени
MailRes
Всем привет!

Наверняка многие пользуются соц. сетью Вконтакте, поисковиком Гугл, и наверняка уже успели обратить внимание - как сделан поиск. Т.е. при вводе каждого нового символа, пользователю тут же предоставляются найденные варианты.

Заморочка: хочу себе на сайт такой же поиск, только не знаю с чего начать копать, прошу помощи в направлении хода мыслей)))

p.s. На сайте уже есть поиск (делал сам с помощью форума), ищет данные только после нажатия на кнопку "Поиск", ищет данные в БД. =)



Спустя 2 минуты, 8 секунд (25.05.2011 - 22:24) Игорь_Vasinsky написал(а):
JQuery - autocomplete (автозаполнение)

Спустя 5 минут, 17 секунд (25.05.2011 - 22:29) MailRes написал(а):
Так....))) Если правильно понял, то надо подключать и изучать ява библиотеку JQuery ? а autocomplite является как-то свойством?
p.s. можно ссылочку "где про это почитать?" и на рус. языке плз))). Или гуглить?

Спустя 3 минуты, 35 секунд (25.05.2011 - 22:33) MailRes написал(а):
Autocomplete - плагин, верно?

Уже гуглю и ищу документацию и инструкцию по применению))

Спустя 6 минут, 45 секунд (25.05.2011 - 22:40) Игорь_Vasinsky написал(а):
их много вариантов - выбирай где описание больше - и все под UTF-8 (если н гоню) - так что если другая кодировка, то может не поканать.

да. это плагин от JQuery wink.gif

Спустя 2 минуты, 46 секунд (25.05.2011 - 22:42) MailRes написал(а):
Сайт у меня в кодировке UTF-8, одно настораживает, как-то полгода назад где-то прочитал что JQuery и Mootools между собой несовместимы, а у меня шаблон и половина модулей и плагинов юзают Мутулз.
Что делать? Или пофигу на Mootools и с JQuery функциональность не будет потеряна?

Спустя 5 минут, 38 секунд (25.05.2011 - 22:48) Игорь_Vasinsky написал(а):
MailRes
да. слышал. попробуй - может выдет. 50-50
Поищи подобный плагин от Mootools.

Спустя 7 минут, 57 секунд (25.05.2011 - 22:56) MailRes написал(а):
Покопал чуток, возможно это не то что мне надо. Т.к. на примерах видел, что этот плагин "помогает" дозаполнить поле ввода текста, а мне надо: ввёл первый символ, тут же отобразились результаты поиска ДО нажатия кнопки "Поиск", ввёл второй символ, тут же обновились результаты поиска ДО нажатия кнопки "Поиск" и т.д. и т.п. пока искомое не отобразилось в результатах поиска, или это тоже этот плагин делает?

Спустя 14 минут, 31 секунда (25.05.2011 - 23:10) Игорь_Vasinsky написал(а):
да. как в google

Спустя 28 минут, 7 секунд (25.05.2011 - 23:39) MailRes написал(а):
Спс. Ищу и пробую )))

Спустя 35 минут, 30 секунд (26.05.2011 - 00:14) denash написал(а):
Не знаю зачем нужен Autocomplete, я делал такой поиск без него.Php, mysql, ajax. Просто для формы ставишь событие onchange, по которому будет срабатывать ajax запрос (который передаёт скрипту значение твоего поля), в скрипте к которому обращается ajax коннектишся к базе и пишешь sql наподобии такого:
$search=mysql_real_escape_string($_GET['search']);
$sql="SELECT*FROM `title` WHERE `search` LIKE ('%$search%') LIMIT 10";

Дальше получаешь результат в массив и выводишь его на страницу.

Спустя 7 минут, 49 секунд (26.05.2011 - 00:22) MailRes написал(а):
Пример есть? или "где почитать"?
Нашел пример автозаполнения на JQuery и Mootools, весь мозг уже себе сломал, не работает(( Даже признаков не подаёт, что пытается запуститься автозаполнение)))

Спустя 6 часов, 19 минут, 46 секунд (26.05.2011 - 06:42) Игорь_Vasinsky написал(а):
а кто говорил что просто будет.

Спустя 59 минут, 3 секунды (26.05.2011 - 07:41) pavlik написал(а):
библиотека JsHttpRequest одинаково хорошо справляется и с UTF-8 и с cp1251.
Правда наворотов поменьше чем в jQuery.

Спустя 19 минут, 29 секунд (26.05.2011 - 08:00) pavlik написал(а):
вот тебе пример:

index.html

<html>
<head>

<!-- подключаем бибилиотеку -->
<script src="JsHttpRequest.js"></script>
<script>

//а это сама функция, которая будет отправлять запрос на сервер и вставлять результат в наш div
function search(val)
{
var req = new JsHttpRequest();
req.onreadystatechange = function() {
if (req.readyState == 4) {
document.getElementById('result').innerHTML = req.responseText;
}
}

req.open('POST', '/путь до нашего скрипта обработки/search.php', true);
req.send(searchWord: val );


}
</script>
</head>
<body>
<form
onSubmit="return false">
<input
type="text" onKeyUp="search(this.value)" />
</form>
<div
id="result" style="width:100%; height:500px;">тут будем показывать результат</div>
</body>





search.php

require_once "JsHttpRequest.php";
$JsHttpRequest =& new JsHttpRequest("windows-1251");

$searchWord = trim(stripslashes($_REQUEST[searchWord]));

//Далее идет подключение к БД например

//Делаем запрос (заменить на свой)


$query = "SELECT
text
FROM
table
WHERE
text LIKE '%"
.addslashes($searchWord)."%'
"
;

$result = mysql_query($query) or die(mysql_error());

if(!mysql_num_rows($result))
{
echo 'запрос вернул пустой результат';
exit;
}
while($row = mysql_fetch_assoc($result))
echo $row[text].'<br><br>';


Вот вроде бы рабочий пример (не проверял).
Сами библиотеки в тырнете откопать, думаю, не трудно.

Спустя 11 часов, 54 минуты, 58 секунд (26.05.2011 - 19:55) MailRes написал(а):
Игорь_Vasinsky, полностью согласен - "Кто сказал что будет легко?"

pavlik, за пример спасибо, продолжаю изучение... )))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.