отображение наиболее популярных форм представления? - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть сайт, созданный для учащихся с ограниченными возможностями для поиска на YouTube, а затем отображает результаты в доступном формате.

Я хочу отобразить 5 самых популярных поисковых терминов, используемых исключительно на этом сайте.

Поисковые термины отправляются с использованием текстовой формы ввода. Можно ли также отправить поисковые термины в mysql, а затем отобразить самые популярные?

Или лучший способ?

Форма отправки кода:

<fieldset class="search"> 
<form method="get" name="search" action="<?php echo 
 htmlentities($_SERVER['PHP_SELF']); ?>">
  <input type="text" label="type here" class="box" name="v" placeholder="type here..."/>
  <input type="submit" name="submit" value="Search"/>  
</form>
    </fieldset>

Большое спасибо, Майк

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

Еще одна возможная идея (которая может быть глупой, я не уверен): вы можете добавить две таблицы MySQL, одну для SearchTerms (например, с колонками SearchTermID (число) и строку для SearchTerm), а затемтаблица запросов, которая имеет SearchID, SearchTermID (который прикреплен к таблице SearchTerms с использованием столбца SearchTermID и, например, SearchDateTime для записи, когда поиск произошел).Затем каждый раз, когда кто-то выполняет поиск, проверяйте таблицу SearchTerms, чтобы узнать, был ли ранее выполнен поиск по этому термину, и, если это так, добавьте запись в таблицу поиска.верхние 5 поисковых запросов, которые использовались на этой неделе "чем-то вроде SELECT SearchTerm,Count(SearchID) FROM SearchTerms INNER JOIN Searches ON Searches.SearchTermID=SearchTerms.SearchTermID WHERE SearchDateTime > [today minus a week, or something] LIMIT 5

Я не уверен, что было бы хорошими показателями, но я думаю, что один из SearchDateTime будет полезен для запроса" 5 лучших ",И еще один в строке в SearchTerms, так как вы будете проверять этот столбец при записи поисков.

(Возможно, было бы также хорошо иметь столбец NumberOfTimesSearched в таблице SearchTerms, но вы всегда можете рассчитать его посуммирование количества раз, когда соответствующий SearchTermID появляется в таблице поиска)

0 голосов
/ 07 апреля 2011

Самый простой способ - создать таблицу базы данных, в которой сохраняются поисковые термины (преобразовать в нижний регистр с помощью strtolower () и проверить, был ли термин уже сохранен), и простое поле INT, которое вы увеличиваете, если поисковый термин уже существует в ваша база данных.

Теперь вы можете выбрать наиболее популярные поисковые термины из базы данных с помощью запроса:

SELECT `term` FROM `search_terms` ORDER BY `search_count` DESC LIMIT 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...