форма автоматически предлагает значения взятые из базы данных

OffSpEEd

Знаток
Регистрация
17 Авг 2007
Сообщения
158
Реакции
25
Например, есть простая форма:

HTML:
<form action="notebook.php" method="post">
<input name="name" type="text" /> Название:<br>
<input name="type" type="text" /> Тип ноутбука:<br>
<input name="brand" type="text" /> Фирма производитель<br>
<input name="submit" type="submit" value="add" />
</form>

Уже введено много товаров в базу.
Как сделать чтобы при вводе данных в форму, она автоматически предлагала данные из mysql которые уже занесены (например, начиная с 3 символа).

Т.е. допустим в поле "Фирма производитель" начинаем вводить son и вниз спадающим списком нам предложили бы выбрать Sony или Sony-Ericsson.

Есть ли какое то готовое решение по этому вопросу?
Переместите тему если не по адресу пожалуйста..
 
нашел решение здесь:


Скрытое содержимое доступно для зарегистрированных пользователей!

очень удобное и классно подгружает данные с mysql


copy.png
Для просмотра ссылки Войди или ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся
favicon.ico
 
Недавно тоже столкнулся с подобным, решил так:
HTML:
<script type="text/javascript">
function lookup(inputString) {
    if(inputString.length < 3) {
        $('#suggestions').fadeOut();
    } else {
            $.post("/modules/recom/ajaxsearch.php?search="+inputString, {queryString: ""+inputString+""}, function(data) {
            $('#suggestions').fadeIn();
            $('#suggestions').html(data);
        });
    }
 
    $("input").blur(function(){
        $('#suggestions').fadeOut();
    });
}
</script>
ajaxsearch.php получает ввод из input и делает выборку.
Сам input
HTML:
<input type="text" onkeyup="lookup(this.value);" class="search-input" id="inputString" name="cntnt01searchinput" size="20" maxlength="50" value="Поиск по сайту" onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;" AUTOCOMPLETE="off"/>
 
здесь задействован ajax, а он подразумевает взаимодействие со сторонним файлом, в данном случае это /modules/recom/ajaxsearch.php вот в нем как раз все запросы к БД и реализованы. Возвращается от него в яваскрипт, массив слов (фраз), содержащих, вводимые в поисковое поле, символы...
 
ну и как эта схема берет данные из mysql? где сам запрос и логин к базе? не очень понятно...
Подключение к базе не является чем-то сверхъестественным, думаю самому можно реализовать при любом уровне знаний, если хоть какой-то уровень имеется, а выборка дело сугубо индивидуальное, все зависит от движка и от того, что именно нужно искать. В моем случае дело было так
PHP:
if(isset($_GET['search']))
    {
        $query = mysql_query("select parent_id, content_name, hierarchy_path from cms_content where content_name like '%".$_GET['search']."%' or menu_text like '%".$_GET['search']."%' order by content_name ASC");
        while($row = mysql_fetch_array($query))
            {
                $query_par = mysql_query("select content_name from cms_content where content_id ='".$row['parent_id']."'");
                if($res_par = mysql_fetch_assoc($query_par))
                    {
                        $parrent = $res_par['content_name'];               
                        $parrent_title = '('.$parrent.')';
                    }
                else
                    {
                        $parrent_title = '';
                    }
 
                preg_match('#'.$_GET['search'].'#isu', $row['content_name'], $matches);
                $res_out = preg_replace('#'.$_GET['search'].'#isu', '<span style="color:#FE7E0C">'.$matches[0].'</span>', $row['content_name']);
               
                $res_arr[] =  '<a class ="srch_a" href="/'.$row['hierarchy_path'].'">'.$res_out.' '.$parrent_title.'</a>';
 
            }
        $res = array_unique($res_arr);
        foreach($res as $a)
                {
                    echo $a;
                }
    }

здесь задействован ajax, а он подразумевает взаимодействие со сторонним файлом, в данном случае это /modules/recom/ajaxsearch.php вот в нем как раз все запросы к БД и реализованы. Возвращается от него в яваскрипт, массив слов (фраз), содержащих, вводимые в поисковое поле, символы...
Верно, только в данном случае нужно передавать готовый html код, т.к. он сразу выносится на страницу как есть.
 
Назад
Сверху