LastQueries v1.1

Locorez

Эксперт
Клиент
Сообщения
244
Реакции
153
Для начала создадим новую таблицу в базе, где будем хранить список всех запросов. Для этого выполните запрос к вашей базе (через консоль или phpmyadmin):

Код:
CREATE TABLE IF NOT EXISTS `queries` (
`qid` int(10) NOT NULL auto_increment primary key,
  `query` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Теперь базу нужно наполнить запросами. Открываем /core/search.php, находим:
PHP:
if ($results['tracks']){
и ВЫШЕ вставляем:
PHP:
$sql = $conn->query("SELECT `qid` FROM `queries` WHERE `query` = '$query'");
if (!$sql->fetch_assoc()){
  $sql = $conn->query("INSERT INTO `queries` (`query`) VALUES ('$query')");
}
Логика работы очень проста - пробуем найти в базе такой поисковый запрос, если его нет - добавляем. Новый запрос будет добавляться каждый раз, при переходе на страницу трека или поиск через поисковую форму. В MSE-Script 2.2 и выше, этот пункт можно пропустить, так как там уже встроена таблица с запросами.

Ахтунг! На сайтах с посещаемостью, новые запросы будут добавляться очень быстро! Использовать аккуратно, так как может быть серьезная нагрузка на сервер.

Теперь можно сделать вывод последних запросов на сайте. Загружаем содержимое архива в корень сайта, открываем свой шаблон и в нужном месте вставляем:
PHP:
{getLastQueries limit="10"}
{foreach $lastQueries as $searchQuery}
        <a class="pajax-link" href="/search/{$config.key}/{$searchQuery.query}/">{$searchQuery.query}</a>,
{/foreach}
limit="10" - как, наверное, вы догадались - это кол-во выводимых запросов.

Версия 1.1 от 11.02.2018
- Добавлен параметр offset="xx", задающий смещение для выборки запросов
 

Вложения

music-guru

Новичок
Клиент
Сообщения
3
Реакции
0
в core/search.php нету if ($results['tracks']){
Что делать?
 

Locorez

Эксперт
Клиент
Сообщения
244
Реакции
153
Тогда грустно быть тобой
 

Locorez

Эксперт
Клиент
Сообщения
244
Реакции
153
@doz Добавлен параметр offset="xx", задающий смещение для выборки запросов
 
  • Like
Реакции: doz

Rumiinn

Местный житель
Сообщения
34
Реакции
0
@doz Добавлен параметр offset="xx", задающий смещение для выборки запросов
Теперь можно сделать вывод последних запросов на сайте. Загружаем содержимое архива в корень сайта, открываем свой шаблон и в нужном месте вставляем:
PHP:
{getLastQueries limit="10"}
{foreach $lastQueries as $searchQuery}
<a class="pajax-link" href="/search/{$config.key}/{$searchQuery.query}/">{$searchQuery.query}</a>,
{/foreach}

Куда нужно вставить подскажите пожалуйста!
 

Locorez

Эксперт
Клиент
Сообщения
244
Реакции
153
@Rumiinn Где ты хочешь это вывести?
 
Последнее редактирование:

Vitaliy12355

Местный житель
Клиент
Сообщения
40
Реакции
2
Господа! Кто разобрался, можно решение прописать. Поподробнее. Особенно, как создать таблицу. Всем ответившим, заранее спасибо!
 

Akimu

Web Designer
Сообщения
175
Реакции
29
Господа! Кто разобрался, можно решение прописать. Поподробнее. Особенно, как создать таблицу. Всем ответившим, заранее спасибо!
Для начала создадим новую таблицу в базе, где будем хранить список всех запросов. Для этого выполните запрос к вашей базе (через консоль или phpmyadmin)
Сам запрос:
Код:
CREATE TABLE IF NOT EXISTS `queries` (
`qid` int(10) NOT NULL auto_increment primary key,
  `query` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 

Vitaliy12355

Местный житель
Клиент
Сообщения
40
Реакции
2
Это я видел. Вопрос в том, как это сделать по шагам, если ниразу в жизни этого не делал? Создаем таблицу и куда там это впихивать? Я пока в этих вопросах несилен. Подскажите поподробнее пожалуйста.
 

Locorez

Эксперт
Клиент
Сообщения
244
Реакции
153
1) Открываешь phpmyadmin
2) Выбираешь свою базу
3) Выбираешь вкладку SQL и вставляешь запрос
4) Жмешь "Вперед"



Метод 2:
1) Подключаешься к серверу по SSH
2) Набираешь команду mysql -u USER_NAME -p, жмешь ENTER
3) Система попросит пароль, вводишь пароль
4) Вводишь use DB_NAME
5) Вводишь указанный запрос
 

Vitaliy12355

Местный житель
Клиент
Сообщения
40
Реакции
2
Работает! Там потом грамотно путь прописать надо, чтоб в root выполнилась команда. Можете хостеру сразу написать. они вам путь подскажут. На зомро помогли.
 
Сверху