2011-12-28 2 views
2

Я хочу сделать страницу поиска, например google, когда я ввожу 'ex', а затем с помощью ajax мы узнаем, что пользователь намеревается ввести «пример» или «экзамен» или ... Каков алгоритм для создания такой страницы? - это запрос mysql like: "SELECT * FROM users WHERE upper($field) LIKE'%$find%'"? Спасибо заранее.Поиск страницы с Ajax (алгоритм)

+0

Что-то вроде этого, да. –

+0

Да и нет. Честно говоря, никто не знает истинного алгоритма, но когда вы делаете что-то подобное, лучше всего кэшировать (для автозаполнения). Если вы просто выполняете одноразовый поиск и пытаетесь найти что-либо похожее на «ex», тогда этот запрос будет в порядке. Кроме того, если вы хотите, чтобы он начинался с ex, тогда '' find% 'вместо'% $ find% ', так как'% 'является подстановочным знаком. – Matt

+1

просто обратитесь к этой теме http://stackoverflow.com/questions/2909210/jquery-autosuggest-example –

ответ

0

запрос почти это
mysql_query("select * from users where queryfield like '$q%' order by queryfield");
вы можете использовать JQuery автозаполнения, чтобы облегчить вашу работу

<input type="text" id="populate"> 
<script type="text/javascript"> 

    $(function() { 

    $("#populate").autocomplete({ 
     url: 'search.php', 
     cache: false, 
     onItemSelect: function(item) { 
      window.location.href=item.data; 
      document.getElementById('populate').value=''; 

     }, 
    }); 

}); 


    </script> 


для полного источника:
http://jqueryui.com/demos/autocomplete/#remote

0

Я думаю, что это работает, как это , предположим, что у нас есть две таблицы, одна из которых - статьи/ссылки по требованию, другие - поиск ключевых слов двигатель ломается ", но что хорошего эти ключевые слова? Для меня это показатель популярности, поскольку он является наиболее популярным, этот показатель основан на том, что ..

Чем больше человек ищет, например, «I А. легенда» или «легенда двутавровой» , 'легенда фильма', 'god is legend' .. слово «легенда» было обыскано четыре раза, и его индекс будет построен на основе этого, но .. у вас есть лимитный ордер, у них может быть много слова, которые были запрошены, но даже не вошли в поиск или, кроме того,

Вам нужно будет сделать что-то вроде этого, создайте таблицу, в которой она обновит каждые 25% поискового запроса s, слова .. когда пользователь печатает, вы показываете предложения.

Вы должны сделать что-то, что принесет лучшие результаты для тех, кто использует поиск, однако, вы можете решить эту проблему с предложить jQuery Autocomplete

Смежные вопросы