PHP запомнить последние поисковые фразы - PullRequest
0 голосов
/ 23 января 2012

Я видел много сайтов, делающих это. Вы можете увидеть поисковые фразы под полем поиска. Какой лучший способ реализовать это?

Ответы [ 3 ]

1 голос
/ 23 января 2012

Если вы хотите отобразить самые последние поисковые запросы, просто сохраните их в любом месте.Например, в вашей базе данных (или даже обычный текстовый файл будет работать).Создайте таблицу recent_searches и сохраните в ней последние запросы.Используйте cronjob, чтобы очистить стол время от времени (если хотите).При выполнении поиска вы можете вставить его в таблицу недавних поисков, например:

$searchterm = 'Apple Pie Recipe';
// Insert the search into your recent search table
mysql_query("INSERT INTO `recent_searches` (`term`) VALUES ('" . mysql_real_escape_string($searchterm) . "'");
// Then search.
mysql_query("SELECT * FROM `searchtable` WHERE `title` LIKE '%" . mysql_real_escape_string($searchterm) . "%'");
0 голосов
/ 23 января 2012

Полагаю, решение будет немного отличаться в зависимости от того, насколько вы продвинуты в этом. Если вы хотите показывать только самые популярные поисковые запросы, то, я думаю, вы можете просто иметь в таблице в своей базе данных и сохранить весь поисковый запрос в одном столбце, а во втором столбце вы получите +1 каждый раз, когда кто-то ищет этот точный срок. Если поискового термина еще нет в вашей таблице, добавьте его.

Это немного ограничено, однако. Если вы хотите иметь возможность показывать тренды, например, или если вы хотите показывать самые популярные поисковые запросы сегодня, я думаю, что лучшим способом было бы использовать две db-таблицы. Ваша первая таблица хранит идентификатор и полный поисковый запрос. Во второй таблице хранится одна строка для каждого поиска, и в ней содержится идентификатор используемого поискового термина и отметка времени, когда поиск был выполнен.

Использование второго варианта даст вам гораздо больше возможностей, поскольку вы знаете дату и время каждого поиска, выполненного на вашем сайте.

0 голосов
/ 23 января 2012

Чтобы сохранить поля поиска после перезагрузки страницы, Вы запрашиваете базу данных на основе полей поиска

$mysearchStr =$_POST['searchPattern'];
if(empty($mysearchStr)
{
echo'<input type="text" name="searchPattern" value="">';
}
else
{
echo'<input type="text" name="searchPattern" value="$mysearchStr">';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...