ФорумПрограммированиеPHP для идиотов → Вывод списка (php + ajax)

Вывод списка (php + ajax)

  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 9 июля 2008 г. 9:52

    Всем привет.
    Задача состоит в следующем. Есть БД со списком улиц. Нужно чтобы при вбивании первых букв названия появлялись все возможные варианты в виде списка под полем для ввода текста или первый вариант из БД но уже непосредственно в этом поле. Думаю все поняли что я имею ввиду. Щас такие интеллектуальные поиски уже много где. На том же yahoo.com хотя бы.
    Как точно это сделать не знаю.
    На данный момент есть форма:
    <?php

    header('Content-Type: text/html; charset: utf-8');

    echo "<HTML>
    <HEAD>
    <TITLE>Test Page</TITLE>
    <script language=\"javascript\" src=\"javascript/jq.js\"></script>

    <script language=\"JavaScript\">

    function myFunction() {

    var text = $('input[@name=search]').val();

    $.ajax({
    type: 'POST',
    url: 'script.php',
    data: 'data=' + text ,
    cache: false,
    dataType: 'script',
    async: false,
    success: function(result){
    // document.getElementById('inp').value = result;
    $('input[@name=inp]').val(result);
    }
    });
    }

    </script>

    </HEAD>
    <BODY>

    <input type=text name='search' id='search' value='' onkeyup='myFunction();'>

    <input type=text name='inp' id='inp' value=''>

    </BODY>
    </HTML>";

    ?>

    Правда здесь у меня возможный вариант просто выводится в соседнем поле <input>.
    Подскажите как сделать описанное выше, а то мои познания в яваскрипте не велики :)
    from TRIAL with LOVE
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 9 июля 2008 г. 9:58, спустя 5 минут 27 секунд

  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 9 июля 2008 г. 10:02, спустя 4 минуты 14 секунд

    Ага, оно самое. Только теперь мне это надо разжевать подробно. А то я ничего не понимаю в их коде.
    from TRIAL with LOVE
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 9 июля 2008 г. 10:14, спустя 12 минут 37 секунд


    в их коде.
    :DD
    все умрут, а я изумруд
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 9 июля 2008 г. 10:18, спустя 3 минуты 53 секунды

    бугагагага

    ЗЫ так и скажи что не читал)))
  • XoxMa

    Сообщения: 135 Репутация: N Группа: Кто попало

    Spritz 9 июля 2008 г. 15:06, спустя 4 часа 47 минут 57 секунд

    Есть статья в книге "AJAX в действии". Там написано, как можно делать такие штуки, я точно помню. Поэтому тебе лучше скачать эту книгу ( можно тут: http://knigka.info )
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 10 июля 2008 г. 2:59, спустя 11 часов 52 минуты 13 секунд

    XoxMa™, что ты человеку советуешь?
    я эту книгу читал и могу тебе точно сказать что в первой редакции там куча ошибок это раз

    два - есть уже готовый рабочий скрипт, который тока надо поставить, причем TRIAL использует jquery не надо писать все эти функции для работы с аджаксом заново

  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 10 июля 2008 г. 4:40, спустя 1 час 41 минуту 56 секунд

    Да я вобще не понимаю что мне надо откуда скопировать и куда вставить.
    В каком виде данные из скрипта на стороне сервера должны передаваться назад?
    Я ж просил именно разжевать на примере чтоб я хоть понял и в будущем уже сам мог что-то сделать.
    PS. Если конечно не сложно вам. Мне кажется там не долго объяснять.

    —-

    А, там еще и прикрепленные файлы были ))) И всё равно я не разобрался.
    from TRIAL with LOVE
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 10 июля 2008 г. 6:28, спустя 1 час 47 минут 28 секунд

    для начала переводим текст и читаем

    http://translate.google.com/translate?hl=ru&sl=en&u=http://mabp.kiev.ua/content/2008/04/08/autocomplete_by_your_own_hands/&sa=X&oi=translate&resnum=1&ct=result&prev=/search%3Fq%3Dhttp://mabp.kiev.ua/content/2008/04/08/autocomplete_by_your_own_hands/%26hl%3Den%26sa%3DG

    потом задаем вопросы

    что мне надо откуда скопировать

    в правой колонке нижний синий блок это файлы которые надо скачать

    В каком виде данные из скрипта на стороне сервера должны передаваться назад

    можно через xml

    <?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <select>
    <option value='val'>title</option>
    </select>


    можно через json

    {key:title,key2:title2}


    Прочитай хоть раз описание там для самых тормозных пендосов расписано
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 11 июля 2008 г. 5:05, спустя 22 часа 36 минут 57 секунд

    Блин, вроде заработало, правда пока почему-то глюки с CSS.
    Щас буду исправлять.



    В опере всё отлично, а вот в ИЕ почему то стрелочка (gif) убежала на новую строчку. При уменьшении размера изображения она возвращается на место но какая-то обрезанная. Причем на сайте всё нормально выглядит через тот же ИЕ.
    В чем может быть дело?
    from TRIAL with LOVE
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 11 июля 2008 г. 5:10, спустя 5 минут 27 секунд

    TRIAL, ну покажешь потом, мы засрем ))
    все умрут, а я изумруд
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 11 июля 2008 г. 5:39, спустя 28 минут 30 секунд

    Нашел в чем глюк.
    В jquery.autocomplete.js
    .css({width:this.width - ($.browser.mozilla?20:22)}) // 18 img + 2 margin + 2 IE?

    Когда заменяю 22 на 23 и более в ИЕ проблема решается. Ну в опере при этом отступ увеличивается. Правда не пойму почему по ссылке мавра всё работает как надо.
    from TRIAL with LOVE
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 11 июля 2008 г. 5:57, спустя 17 минут 59 секунд

    Блин как всегда уперся в свое любимое. Ипучие кодировки. Англ видит а русский нет. Что делать?
    from TRIAL with LOVE
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 11 июля 2008 г. 8:01, спустя 2 часа 4 минуты 19 секунд

    TRIAL, посмотри может быть у твоего инпута бордер есть

    русский надо передавать в кодировке утф8
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 11 июля 2008 г. 10:54, спустя 2 часа 52 минуты 55 секунд

    Не, бордера нету, проверил вроде уже всё.
    Так, тогда дурацкий вопрос, как мне передать в утф-8. В своем примере я ставил хидеры с кодировкой утф-8, причем срабатывали они только при передачи методом ПОСТ. Непосредственно в скрипте перегонял утф в цп1251, искал значение в базе и перекодировав назад отдавал значение. Так всё работало. Тут я чего-то непойму как сделать так же. Вроде пытался но не получилось.
    У меня вобще беда с кодировками.
    Так что нужна помощь.
    from TRIAL with LOVE

Пожалуйста, авторизуйтесь, чтобы написать комментарий!