подсказки про вводе слова в строку поиска

verhmax
На сайте с 01.12.2005
Offline
191
5154

добрый день.

очень нужно реализовать подсказку при заполнении поля поиска.

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

может у когото есть скрип, или кто-то поможет реализовать? принцып вытягивания с бд у меня есть, нужен момент показа на экране и прикрутить это всё вместе

Заранее благодарен!

topy
На сайте с 28.03.2006
Offline
142
#1

Это не просто JS, это уже AJAX...

Если я правильно понял это как у Гугла??

Статейка на эту тему, думаю поможет...

Новости коротко и ясно (https://subnews.ru)
[Удален]
#2

Попробуйте использовать библиотеку script.aculo.us (она использует для своей работы фреймворк prototype). В ней есть 2 компонента:

Ajax.Autocompleter

Autocompleter.Local

Первый позволяет реализовать ajax-автодополнение: при введении каждой буквы посылается запрос к серверу для получения вариантов. Второй - локальное, автодополнение производится на стороне клиента из заранее сформированного списка. Если нужно, могу помочь с реализацией.

verhmax
На сайте с 01.12.2005
Offline
191
#3

Alexius, я сделал скрипт, который при запросе scripr?q=параметр

отдает результат в виде

<ul><li><a href="/index.php?sid=5724">параметр</a></li></ul>

а что там со стилями и яваскриптами я особо не понял:(

D
На сайте с 16.02.2008
Offline
11
#4

А что там понимать :

1) подключаете prototype + script.aculo.us

2) берете их пример html:


<input type="text" id="autocomplete" name="autocomplete_parameter"/>
<div id="autocomplete_choices" class="autocomplete"></div>

и js:


new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "/url/on/server", {});

3) Стили там прописаны для индикатора прогресса, он вам не нужен

4) Готово

Script.aculo.us - это помоему самая простая библиотека визуальных эффектов :-)

verhmax
На сайте с 01.12.2005
Offline
191
#5

скачал вот этот скрипт http://www.dhtmlgoodies.com/index.html?whichScript=ajax-dynamic-list

установил, настроил, всё вроде работает. но выводит русские будвы иероглифами, поставил

iconv('windows-1251', 'UTF-8', $responce);

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

не знаете где там с кодировкой надо поиграться?

D
На сайте с 16.02.2008
Offline
11
#6

Выводится полностью , потому что :


$letters = preg_replace("/[^a-z0-9 ]/si","",$letters);

Уберите эту строчку .

А базу держите в utf-8 ( utf8_unicode_ci ) , и при подключении прописывайте "Set names 'utf8'" .

verhmax
На сайте с 01.12.2005
Offline
191
#7

doggystyle, теперь ысё работает. но есть нюанс. в опере нормально, в ИЕ не пашет вообще:( выводит просто полный список и всё, причём очень долго думает.

не знаете что это может быть?

а как сделать запрос чтоб исказл сразу в двух полях?

select * from post where title like '%".$letters."%'

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий